【邮件推送】阿里云邮件推送配置及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();
        }

 

posted @ 2021-02-24 11:44  狼窝窝  阅读(922)  评论(0编辑  收藏  举报