java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况
邮件短信微服务 spring boot 微服务 接收json格式参数 验证参数合法化 放入队列 返回json 内网访问,IP白名单限制 activemq消息队列 独立部署到docker里 邮件发送 从activeMQ里取待发送邮件 根据邮箱类型选择对应服务商接口发送 mysubmail 主账号邮件验证码类无限额(需要找客服技术申请开通) 子账号营销邮件 TLS加密需要找技术加上 sendcloud sendgril amazon SES 每天5万,每秒14封 国内邮箱白名单配置(foxmail,qq,163,126,yeah,sina,sohu,189,139) 失败重发5次丢弃 暂停5秒再放回队列 放回队列需要切换不同运营商发送才能保证比较高的成功率,失败后放回队列指定其他运营商改成下面顺序:submail->sendclound->amazonses->sendgrid->submail
需要保证各个运营商有比较充足的余额效果才比较好 验证码实时性比到达率重要,超过2分钟收不到就没意义了 失败后直接放回队列里重发,邮件少的话马上就给取出来重发了,短时间内连续重发可能会被邮件服务器判断为垃圾邮件拒绝 根据邮件服务器返回状态作出相应处理 推广邮件用户退订,记录后不继续推广 短信发送 从activeMQ里取待发送短信 没有指定运营商,默认+86用submail,其他用twilio,指定submail的再判断国内国际的分开发送 根据号码类型选择对应服务商接口发送 mysubmail 1: message/send 接口,优点:方便、快速对接使用,免模板,可直接提交任意内容(需要符合短信发送规范,短信签名前置),缺点:并发效率不高,适用于并发小,内容变动或模板变动较多的场景(并发效率低指高于每秒1000的并发,低于这个并发需求请无视) 2:message/xsend 接口,优点:高稳定性,低延迟,高并发,适用验证码类要求低延迟,高请求效率的场景,缺点:接入时需要提前创建模板,并指定模板ID 可以先使用send接口发送后自动创建模版,后面再换成自动生成的模版用xsend来发送 需要判断有+86的走国内短信API,其他国家代码走国际短信API
就这2种判断就可以了,国际短信API可以发送除中国以外的235个国家的短信
国外的是区号必须加的,不然无法判断国家
国内的不能带上+86,否则会报错,需要去掉+86
先加一个国内号码的合法性验证,国外的后续再慢慢加上正则表达式规则 国际短信 不强制传【】,国内是运营商强制要求的,必须传【】而且【xxx】需要放在开头那里 sendcloud 必须先创建签名、模版,而且最多创建5个,需要传签名,、模版ID才能发送,已决定放弃 twilio sms 发送到国内手机号到达率比较低 amazon sms(待开通) 阿里短信(待申请) 失败重发5次丢弃 失败的改成另外一个运营商再放到队列里 根据短信服务器返回状态作出相应处理
邮件服务调研:
邮件服务 需要解决问题 QQ,foxmail收不到sendgril邮件 腾讯邮箱白名单服务要求很严格,区块链的申请不了 区分国内外邮箱进行分别处理 对邮件进行分类处理,重要的验证码、订单通知用一个域名多个帐号,广告推送的用另外一个域名多个帐号 对邮件发送进行轻量级队列化,失败后放回队列重发 解决方案 注册域名备案 aax-pro.com aax-pro.cn 都可以注册,两个一起一年84元
aax-intl.com 也可以,一年58元 域名备案后使用网易企业邮箱服务 使用sendcloud作为备用 使用mysubmail作为备用 使用Gmail企业邮箱发送 放到aws或香港同事电脑上测试 火币发送邮件 火币至少用了6个不一样的邮箱帐号发送不同类型的通知 订单、重置密码:noreply@mail.huobi.pro
安全验证:noreply@mail.huobipro.com
邮箱验证:service2@huobi.com
推广服务通知:support3@huobi.com,service3@huobi.com,vip@huobi.com 网易企业邮箱 每个账号一天最多发1000封,发送频率每15分钟不得超过500封 单次群发不宜超过200个收件人,100个收件人效果最佳 可以使用多个邮箱发送,用户数可以随时增加的 我想购买 200个用户,标准价:44400元/年; 优惠价:29600元/年
我想购买 100个用户,标准价:22500元/年; 优惠价:15000元/年
我想购买 10个用户,标准价:2925元/年; 优惠价:1950元/年
我想购买 20个用户,标准价:5550元/年; 优惠价:3700元/年
https://qiye.163.com/entry/buy-price.htm 国家工信部要求,邮箱域名需要进行备案
如果不备案,不排除域名提供商会响应工信部要求将没有备案的域名进行清理,一般主要体现为清理域名解析。
若没了解析,则会影响到您的邮箱正常收取外域邮件,以及无法正常登录mail.域名。
海外注册用户建议联系国内域名服务商购买域名空间进行备案。 腾讯企业邮箱 https://exmail.qq.com 免费版,50人帐号上限
100个用户,标准价:14000元/年,免费赠送自选域名 出错原因:该服务器IP的发信频率大幅度超过QQ邮箱限制。
QQ邮箱对来自相同IP的外部发信服务器有一定的频率限制:
1、超过每分钟发信量限制,此IP地址被禁止发信若干分钟。
2、超过每小时发信量限制,此IP地址被禁止发信若干小时。
3、超过每日发信量限制,此IP地址本日内禁止再发信。
4、以上频率限制数值属于QQ邮箱保密数据,恕不公开。 国内代发邮件服务 mysubmail SUBMAIL_赛邮云通信_短信平台_邮件平台_语音验证码_国际短信
https://www.mysubmail.com/ 邮件分行业短信通道,营销通道两种,收费和到达率不一样
邮件费用比sendcloud贵点,短信费用比sendcloud便宜 50万封以上的邮件资源包均享有 6 个月的独立 IP 服务 10万封¥720单价7.2元/千封
50万封¥3000单价6元/千封
200万封¥11000单价5.5元/千封
500万封¥22500单价4.5元/千封 有SUBHOOK邮件和短信 API 事件推送通知接口 SMTP - 开发者文档 - SUBMAIL - 赛邮云通信
https://www.mysubmail.com/chs/documents/developer/AJhT63 事务类短信资源包:1万条390元,5万条1850元,10万条3500元,300万条90000元(0.03每条)
运营类短信资源包:1万条420元,5万条2000元,10万条3800元,300万条99000元(0.033每条)
国际短信:美国0.055元/条,英国0.275元/条,日本0.334元/条,法国0.371元/条,澳大利亚0.269元/条 Sendcloud 搜狐集团旗下子公司,2014年从搜狐集团中独立,专注于解决企业触达用户的需求,为企业提供邮件、短信、语音通讯等SaaS服务
https://www.sendcloud.net 保证其硬退比例不超过单次发送总量的5% SendCloud 为你多样化。策略化的发送方案,让发信频率稳定可控。提供的DKIM签名、SPF、白名单确认等措施,更让邮件高效入箱。 月发送量10000封以内¥59/每月
月发送量10001-50000封部分¥5.6/千封
月发送量50001-100000封部分¥5.3/千封
月发送量100001-200000封部分¥5/千封
月发送量200000封以上¥4/千封 企业账户初始发信额度每天3000 正式认证是需要审核网站信息的,上线了才能使用 域名跟客服确定了可以不用备案的 htt http://www.magicwinmail.com/register.php 标准版 永久使用、标准功能、含一年的技术服务和升级; 不限邮箱数许可标准版 12000.00 白金版 永久使用、完备功能、含永久的技术服务和升级; 不限邮箱数许可白金版 25000.00 Winmail 邮件服务器软件 :: 版本功能区别
http://www.magicwinmail.com/edition.php 华美科技,域名需自备不提供域名 只提供软件和技术服务,需要自己搭建邮件服务器 国外邮件服务 sendgril gmail amazon SES