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