[TOC]
感谢光顾,简书停更,迁移至sengmentfault:https://segmentfault.com/u/teachmyself
原谅我标题党的行为,其实阿里云的邮件推送用起来还不错,不过还是踩到一些坑,应该还有些坑没踩到吧,不过很快会验证,希望他们可以尽快改善,整体来说用起来还比较方便(顺便吐槽下技术支持的工单,那个效率真是不敢恭维)。
废话少说,直接进入正题吧。。。
场景介绍
- EDM推送
- 用户注册/找回密码
- 其他通知
配置步骤
新建发信域名
控制台 -> 邮件推送 -> 邮件设置 -> 发信域名
- 不建议使用企业邮箱域名,避免企业邮箱收信异常,建议使用二级域名,如:
mail.teachmyself.cn
; - 每账户默认只能创建
5
个; - 创建好发信域名以后,默认状态为待验证;
验证域名
控制台 -> 邮件推送 -> 邮件设置 -> 发信域名
- 点击『配置』,展开需要配置的域名清单;
- 根据『配置』中的列表,在域名DNS后台配置相关记录;
- 点击『验证』,发信域名
mail.teachmyself.cn
状态变为验证通过即可;
坑们-1:dmtrace 非常容易解析错
如果需要跟踪邮件状况,需要增加一条CNAME
解析将:
dmtrace.email
指向 tracedm.aliyuncs.com
(正确)
列表的里形式非常容易让你误将:
(错误)dmtrace
指向 tracedm.aliyuncs.com
即:dmtrace.你的发信域名
-> tracedm.aliyuncs.com
该记录默认为非比选项,不过相信用户都想跟踪下邮件发送情况。
创建发信地址
控制台 -> 邮件推送 -> 邮件设置 -> 发信地址
- 点击『新建发信地址』,填写或选择相关选项
- 发信域名,选择1中创建的发信域名
-
账号,发送邮件的账号,如:
teach
- 回信地址,非必选,可以不填(仅用于接收控制台发信和API发信的回信,SMTP发信的回信地址请在SMTP的reply to中设置)
- 发信类型,批量邮件 or 触发邮件 根据需要选择
坑们-2:容易被丢垃圾箱,这个应该不是阿里云邮件推送的锅,经测试,gmail,163,126,腾讯企业邮箱,gmail企业邮箱都没问题,qq邮箱会把常用账号,如:notice
,ad
等常用来发广告推送邮件的账号的邮件直接识别为垃圾邮件,各种搞都没效果,最后换个账号名就不进垃圾箱了。。。
模板标签
控制台 -> 邮件推送 -> 邮件设置 -> 邮件标签
邮件标签区分字母大小写,不晓得有啥用,应该是推送邮件多了以后分类用的,因为后面推送邮件是必选,随便建个啦
IP防护
(略)非刚需,未配置,跳过;
异步通知
(略)非刚需,未配置,跳过;
创建收件列表
控制台 -> 邮件推送 -> 发送邮件 -> 收件人列表
- 点击『新建收件人列表』,根据实际情况填写以下信息:
- 列表名称: 2017父亲节推广
-
别称地址:
tech@mail.teachmyself.cn
用来做什么没去确认,给自己留个坑吧,以后填吧,最终测试发送成功了,先跳过了。 - 描述: 2017父亲节推广
- 点击 『txt(示例)』,下载txt格式的实例
- 保留示例文件格式,表头,填写收件人信息
- 点击『上传』,上传上一步修改的邮件列表
- 点击『详情』查看是否有乱码
坑们-3:中文名乱码
-
Linux
或者Mac
下创建csv或者txt文件 - 文件中姓名若出现有中文
上传之后收件人收到的邮件中姓名一定是乱码,但是阿里云的示例文件
上传之后就是正常的,屡试不爽,原因如下:
$ file example.txt
example.txt: UTF-8 Unicode (with BOM) text, with CRLF line terminators
$ hexdump -C example.txt
00000000 ef bb bf 23 e7 94 a8 e6 88 b7 e9 82 ae e7 ae b1 |...#............|
00000010 e5 9c b0 e5 9d 80 7b 45 41 64 64 72 7d 2c e7 94 |......{EAddr},..|
00000020 a8 e6 88 b7 e7 9c 9f e5 ae 9e e5 a7 93 e5 90 8d |................|
00000030 7b 55 73 65 72 4e 61 6d 65 7d 2c e7 94 a8 e6 88 |{UserName},.....|
00000040 b7 e6 98 b5 e7 a7 b0 7b 4e 69 63 6b 4e 61 6d 65 |.......{NickName|
00000050 7d 2c e7 94 a8 e6 88 b7 e7 a7 b0 e5 91 bc ef bc |},..............|
00000060 88 e5 85 88 e7 94 9f ef bc 8c e5 a5 b3 e5 a3 ab |................|
00000070 ef bc 89 7b 47 65 6e 64 65 72 7d 2c e7 94 a8 e6 |...{Gender},....|
00000080 88 b7 e7 94 9f e6 97 a5 7b 42 69 72 74 68 64 61 |........{Birthda|
00000090 79 7d 2c e7 94 a8 e6 88 b7 e7 94 b5 e8 af 9d 7b |y},............{|
000000a0 4d 6f 62 69 6c 65 7d 0d 0a 74 65 73 74 31 40 61 |Mobile}..test1@a|
000000b0 62 63 2e 63 6f 6d 2c e5 bc a0 e4 b8 89 2c e5 bc |bc.com,......,..|
000000c0 a0 e4 b8 89 e4 b8 b0 2c e5 85 88 e7 94 9f 2c 31 |.......,......,1|
000000d0 39 39 30 2f 31 2f 31 2c 31 33 38 30 30 30 30 30 |990/1/1,13800000|
000000e0 30 30 30 0d 0a 74 65 73 74 32 40 61 62 63 2e 63 |000..test2@abc.c|
000000f0 6f 6d 2c e5 bc a0 e4 b8 89 2c e5 bc a0 e4 b8 89 |om,......,......|
00000100 e4 b8 b0 2c e5 85 88 e7 94 9f 2c 31 39 39 30 2f |...,......,1990/|
00000110 31 2f 31 2c 31 33 38 30 30 30 30 30 30 30 30 0d |1/1,13800000000.|
00000120 0a 74 65 73 74 33 40 61 62 63 2e 63 6f 6d 2c e5 |.test3@abc.com,.|
00000130 bc a0 e4 b8 89 2c e5 bc a0 e4 b8 89 e4 b8 b0 2c |.....,.........,|
00000140 e5 85 88 e7 94 9f 2c 31 39 39 30 2f 31 2f 31 2c |......,1990/1/1,|
00000150 31 33 38 30 30 30 30 30 30 30 30 0d 0a 74 65 73 |13800000000..tes|
00000160 74 34 40 61 62 63 2e 63 6f 6d 2c e5 bc a0 e4 b8 |t4@abc.com,.....|
00000170 89 2c e5 bc a0 e4 b8 89 e4 b8 b0 2c e5 85 88 e7 |.,.........,....|
00000180 94 9f 2c 31 39 39 30 2f 31 2f 31 2c 31 33 38 30 |..,1990/1/1,1380|
00000190 30 30 30 30 30 30 30 0d 0a 74 65 73 74 35 40 61 |0000000..test5@a|
000001a0 62 63 2e 63 6f 6d 2c e5 bc a0 e4 b8 89 2c e5 bc |bc.com,......,..|
000001b0 a0 e4 b8 89 e4 b8 b0 2c e5 85 88 e7 94 9f 2c 31 |.......,......,1|
000001c0 39 39 30 2f 31 2f 31 2c 31 33 38 30 30 30 30 30 |990/1/1,13800000|
000001d0 30 30 30 |000|
000001d3
这就是上一步中为什么建议:下载实例文件,在示例文件中修改。阿里云这个示例文件应该是windows
下创建的有bom
头,没有bom
头且文件中有中文名的上传后必然乱码。
如果不嫌麻烦也可以给转换成带bom
头的文件再上传:
$ vim mail.txt
: set bomb
:wq
当然如果是windows
下就不会踩到这个坑了。
这个细节在阿里云后台没有详细说明,应该是阿里云的BUG,阿里云技术支持估计到现在也没搞明白为啥。提了工单,反复跟我拉锯了几个来回,没有一次提到实质问题,到现在跟我要邮件信息。。。
创建发送邮件任务
控制台 -> 邮件推送 -> 发送邮件 -> 发送邮件
- 收件人列表:
- 模板名称:
- 发信地址:
- 发送地址类型:
- 邮件标签:
- 邮件跟踪:
数据统计
控制台 -> 邮件推送 -> 数据统计
发送完成以后看下,发送成功率、打开率、点击率之类的
价格
- 日额度:2,000(其中200封免费)
- 月额度:60,000
相关链接
我发誓,我对阿里云邮件推送是持肯定态度的,而且这是真实的体验肯定不是一篇软文!!!严重抗议阿里云支持团队个别同学敷衍、糊弄事。。。
云栖社区的markdown编辑器真难用,为毛光标总跑到末行!审核效率真低的要命不跟你玩了。。。