阿里云邮件推送服务

Posted 韩天伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云邮件推送服务相关的知识,希望对你有一定的参考价值。

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

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

一、阿里云控制台操作

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

以上是关于阿里云邮件推送服务的主要内容,如果未能解决你的问题,请参考以下文章

初码-阿里云系列-文章目录

阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

阿里云服务器怎么设置能让网站发邮件

本地能正常发送邮件 阿里云服务器端发送邮件提示已经成功了 但是发送不过来 显示 Failure sending mail.

阿里云推送服务

阿里云服务器不能发邮件,禁用25端口的解决办法