天天看點

【雲計算的1024種玩法】使用 MSMTP 實作底層環境的 阿裡雲·郵件推送服務 相容前言介紹開通郵件推送設定 MSMTP

很多阿裡雲使用者經常在開發者論壇反應伺服器的 <code>25</code> 端口被封無法發件。但其實這是阿裡雲的一定保護措施,由于一些散播垃圾郵件的使用者會通過 ECS、輕量 等服務搭建一個建議的 SMTP 伺服器進行垃圾郵件濫發,這就可能導緻很多郵件服務商會把阿裡雲的IP判斷為垃圾郵件的IP源,就會導緻下一個使用這個公網IP甚至是整個IP段都會收到波及。是以也不僅僅是阿裡雲,大多數的虛拟化伺服器的提供商都會預設封禁 <code>25</code> 端口。

但是使用者自己搭建基于 SSL、TLS 加密的 SMTP 伺服器,技術難度太高。用第三方 SMTP 服務,又需要額外設定或者安裝插件擴充什麼的,這裡将介紹使用 MSMTP 實作在伺服器使用第三方 SMTP 服務并完美相容 SendMail 的規則。

MSMTP 是一個非常簡單易用的 SMTP 用戶端軟體,基于GPL釋出,支援TLS/SSL、DNS模式、IPv6、伺服器端認證、多使用者等特性,實作對 SendMail 的完整相容。主要分兩個包:<code>MSMTP</code> 和 <code>MSMTP-MTA</code>,前者實作了郵件轉發代理,後者實作了對 SendMail 的完整相容。

針對 SMTP 呢,主要還是推薦使用像 阿裡雲·郵件推送 這樣的專業郵件推送服務,如果使用 Gmail、FoxMail、Aliyun Mail 這樣的個人郵箱服務,如果發送郵件過多會被禁止發送郵件。 而 郵件推送 每日 200 封的發件額度基本上可以應對不小的服務場景了。

需要使用到的産品:

<a href="https://www.aliyun.com/product/directmail">阿裡雲·郵件推送</a>

通過本文你将講學到:

開通設定 阿裡雲·郵件推送

使用 MSMTP 實作郵件轉發代理

一、進入控制台,左側清單中進入點選 <code>發信域名</code> ,再點選 <code>建立域名</code> ,設定你的發件域名,例如我的是:<code>mail.mf8.biz</code> ,那麼效果就是 <code>[email protected]</code>

【雲計算的1024種玩法】使用 MSMTP 實作底層環境的 阿裡雲·郵件推送服務 相容前言介紹開通郵件推送設定 MSMTP

二、點選 <code>配置</code> 将每一個配置添加到域名 DNS 中,傳回後再點選 <code>驗證</code>

三,左側清單中進入點選 <code>發信位址</code>,再點選 <code>建立發信位址</code> , <code>賬号</code> 一欄推薦填寫 <code>noreply</code> 提示不可回複,如果接受回複的話可以在 <code>回信位址</code> 中填寫收件的郵箱

然後 <code>發件類型</code> 填寫 <code>觸發郵件</code>, 觸發類郵件指注冊激活、密碼找回等;批量郵件指營銷推廣、訂閱期刊等。不同類型郵件的發送限制不同,請根據郵件類型選擇。

【雲計算的1024種玩法】使用 MSMTP 實作底層環境的 阿裡雲·郵件推送服務 相容前言介紹開通郵件推送設定 MSMTP

四、在對應賬号中點選 <code>設定SMTP密碼</code>

RHEL/CentOS:

首先需要安裝 EPEL,已經安裝完成跳過即可:

然後安裝兩個軟體:

Debian/Ubuntu

建立 <code>/etc/msmtprc</code> 檔案,内容如下:

由于這裡檔案儲存了明文的密碼是以要權限要設定的低!

這裡的 <code>www-data:wwww-data</code> 要和 PHP 的使用者組一緻,如果是 <code>www</code> 就改成 <code>www</code>,<code>apache</code> 也是一樣。

一、在終端中輸入:

如果沒有任何反應那麼就 ok 了,如果有回報就根據回報資訊對配置檔案進行修改。

二、通過探針或者 WordPress、Discuz 這樣的程式的忘記密碼進行測試是否可行即可!

完成後,所有依賴 SendMail 進行郵件發送的二進制軟體這樣的服務基本上都可以支援獲得發件功能了~

繼續閱讀