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());
}
}
}
}