本文介紹使用CSharp通過SMTP協議發信。
Alibaba Mail配置
SMTP伺服器位址:smtp.sg.aliyun.com
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("發信地址", "暱稱");
// 顯示的發信地址,如果需要去掉注釋
//mailMsg.Sender = new MailAddress("顯示的發信地址");
mailMsg.To.Add(new MailAddress("目標收信地址"));
//mailMsg.CC.Add("抄送人地址");
//mailMsg.Bcc.Add("密送人地址");
//可選,設定回信地址
mailMsg.ReplyToList.Add("***");
// 郵件主題
mailMsg.Subject = "郵件主題C#測試";
// 郵件內文內容
string text = "歡迎使用Alibaba Mail";
string html = @"歡迎使用<a href=""https://mail.sg.aliyun.com"">Alibaba Mail</a>";
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Plain));
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html));
// 添加附件
string file = "D:\\1.txt";
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
mailMsg.Attachments.Add(data);
//Alibaba Mail的SMT地址和連接埠
SmtpClient smtpClient = new SmtpClient("smtp.sg.aliyun.com", 25);
//C#官方文檔介紹說明不支援隱式TLS方式,即465連接埠,需要使用25連接埠(ECS預設不開通25連接埠),另外需增加一行 smtpClient.EnableSsl = true; 故使用SMTP加密方式需要修改如下:
//SmtpClient smtpClient = new SmtpClient("smtp.qiye.aliyun.com", 25);
//smtpClient.EnableSsl = true;
// 使用SMTP使用者名稱和密碼進行驗證,如果開啟三方用戶端安全密碼請使用新產生的密碼
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("發信地址", "密碼");
smtpClient.Credentials = credentials;
smtpClient.Send(mailMsg);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}