阿里云邮件推送服务

提起邮件服务,最早之前一般自建邮件服务器,需要硬软件和运维的支持,稳定性也难保证,随着云服务的普及邮件推送功能的服务化是趋势,也省钱省事省心。

最早开始用过搜狐邮件服务,阿里云生态现在基本都出现了,我们来尝试一下阿里云的邮件推送服务:

一、阿里云控制台操作

首先在阿里云邮件推送控制台添加域名,然后在自己的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封的免费量,哈哈!

posted @ 2016-03-03 22:22  韩天伟  阅读(3615)  评论(1编辑  收藏  举报