【邮件推送】阿里云邮件推送配置及demo调试
1、进入控制台--找到邮件推送服务--开通
2、进入邮件推送控制台--添加发信域名
3、添加完成后会提示未验证,需要到DNS供应商处再添加对应的域名解析
阿里云添加域名解析的帮助文档:https://help.aliyun.com/knowledge_detail/39397.html?spm=5176.2020520150.102.d6.4da67528PgHfP0
这里需要注意一点:如果你的DNS本身就在阿里云并且你的顶级域名已经在DNS中有记录,那么只需要在对应的顶级域名里添加解析设置
4、配置解析设置完成后,回到邮件控制台中,点击你刚刚新增记录后面的验证按钮,就OK。
5、设置发信地址,按提示操作就可以。发信类型有两种(触发及群发)
6、后面的设置跟操作界面发送邮件有关系,这里就不再描述了
7、为了保证服务的安全性,记得设置Ip白名单。
8、下载SDK
9、在RAM访问控制中新增用户,并赋予有限的访问权限(这里只给邮件相关权限)。将分配到的ID及Secret记录下来
10、使用sdk配合测试代码调试(这里省略)
11、调试中发现的问题:System.Xml.XPath.XPathException:“表达式的计算结果必须为节点集。”
默认格式xml,经过配置后调试出现以上错误。源码没有下载来,没发现错误原因,更改格式为json后调试正常
request.AcceptFormat = Aliyun.Acs.Core.Http.FormatType.JSON;
12、附demo调试通的代码
static void Main(string[] args) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "你的访问ID", "你的访问Secret"); IAcsClient client = new DefaultAcsClient(profile); SingleSendMailRequest request = new SingleSendMailRequest(); try { //Version must set to "2017-06-22" when the regionId is not "cn-hangzhou" //request.Version = "2017-06-22"; //控制台创建的发信地址 request.AccountName = "控制台创建的发信地址"; //发信人昵称,长度小于15个字符。例如: 发信人昵称设置为”小红”,发信地址为 test@example.com,收信人看到的发信地址为“小红”< test@example.com >。 request.FromAlias = "系统管理员"; //设置接收邮件的格式 request.AcceptFormat = Aliyun.Acs.Core.Http.FormatType.JSON; //地址类型。取值:0:为随机账号 1:为发信地址 request.AddressType = 1; //控制台创建的标签 request.TagName = "Reg"; //是否启用管理控制台中配置好回信地址(状态须验证通过),取值范围是字符串true或者false(不是bool值)。 request.ReplyToAddress = false; //目标地址,多个 email 地址可以用逗号分隔,最多100个地址。 request.ToAddress = "目标地址"; //邮件主题 request.Subject = "邮件主题"; //邮件 html 正文,限制28K。 request.HtmlBody = "邮件正文"; //邮件 text 正文,限制28K。 //request.TextBody = "邮件正文"; SingleSendMailResponse httpResponse = client.GetAcsResponse(request); } catch (Aliyun.Acs.Core.Exceptions.ServerException e) { System.Console.WriteLine(e.ToString()); } catch (ClientException e) { System.Console.WriteLine(e.ToString()); } System.Console.WriteLine("操作成功"); System.Console.ReadKey(); }