全部产品
Search
文档中心

Direct Mail:SMTP - Csharp

更新时间:Jun 21, 2025

Contoh berikut menunjukkan cara mengirim email melalui SMTP menggunakan Csharp.

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net.Mime;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                MailMessage mailMsg = new MailMessage();
                mailMsg.From = new MailAddress("Alamat pengirim yang dibuat di konsol", "Nama panggilan");
                mailMsg.To.Add(new MailAddress("Alamat tujuan"));
                //mailMsg.CC.Add("Alamat CC");
                //mailMsg.Bcc.Add("Alamat Bcc");
                //Opsional, ReplyTo 
                mailMsg.ReplyToList.Add("***");
                // Subjek
                mailMsg.Subject = "SubjekC#Test";
                // Isi pesan
                string text = "Selamat datang di Alibaba Cloud DirectMail";
                string html = @"Selamat datang di <a href=""https://dm.console.alibabacloud.com"">DirectMail</a>";
                mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Plain));
                mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html));

                // Tambahkan lampiran
                string file = "D:\\1.txt";
                Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
                mailMsg.Attachments.Add(data);
                //Alamat dan port SMTP DirectMail
                SmtpClient smtpClient = new SmtpClient("smtpdm.aliyun.com", 25);
                //Seperti yang dijelaskan dalam dokumen resmi C# bahwa implicit TLS tidak didukung, port 465 tidak dapat digunakan, tetapi port 25 atau port 80 dapat digunakan (ECS tidak mendukung port 25). Selain itu, perlu ditambahkan satu baris kode smtpClient.EnableSsl = true; Oleh karena itu, metode enkripsi SMTP perlu dimodifikasi sebagai berikut:
                //SmtpClient smtpClient = new SmtpClient("smtpdm.aliyun.com", 80);
                //smtpClient.EnableSsl = true;
                // Verifikasi nama pengguna dan kata sandi SMTP
                System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("Alamat pengirim yang dibuat di konsol", "Kata sandi SMTP yang diatur di konsol");
                smtpClient.Credentials = credentials;
                smtpClient.Send(mailMsg);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
   }

}