提起郵件服務,最早之前一般自建郵件服務器,需要硬軟件和運維的支持,穩定性也難保證,隨着雲服務的普及郵件推送功能的服務化是趨勢,也省錢省事省心。
最早開始用過搜狐郵件服務,阿里雲生態現在基本都出現了,我們來嘗試一下阿里雲的郵件推送服務:
一、阿里雲控制台操作
首先在阿里雲郵件推送控制台添加域名,然后在自己的dns服務器中添加如下的解析(根據控制台中的“配置”):
- 一個主機名為aliyundm的TXT記錄,用於驗證域名所有權
- 一個主機名為空、值為
v=spf1 include:spf1.dm.aliyun.com -all
的TXT記錄,用於防止被當作垃圾郵件 - 一個MX記錄
在mac上可以通過nslookup -query=TXT 域名
與nslookup -query=MX 域名
命令查看DNS設置是否生效。
接着在阿里雲控制台驗證一下域名,驗證成功之后,添加一下發信地址(發件地址),並設置一下SMTP密碼。
然后通過下面的C#代碼使用阿里雲郵件推送服務的SMTP就可以發送郵件了。
二、在程序中調用
MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress(" 收件人地址")); mailMsg.From = new MailAddress("控制台創建的發信地址", "顯示名稱"); // 郵件主題 mailMsg.Subject = "測試郵件主題"; // 郵件正文內容 string text = "這是一封通過阿里雲郵件服務發送的郵件"; string html = @"歡迎使用<a href=""https://dm.console.aliyun.com"">郵件推送</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.bak"; Attachment data = new Attachment(file, MediaTypeNames.Application.Octet); mailMsg.Attachments.Add(data); //郵件推送的SMTP地址和端口 SmtpClient smtpClient = new SmtpClient("smtpdm.aliyun.com", 25); // 使用SMTP用戶名和密碼進行驗證 System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("控制台創建的發信地址", "SMTP密碼"); smtpClient.Credentials = credentials; smtpClient.Send(mailMsg);
最終相信阿里雲的穩定性,且價格是相當的便宜,還有每天200封的免費量,哈哈!