跳到主要內容

免費的SMTP Service?Twilio SendGrid

CI/CD工具無疑是開發人員的無形小幫手,大幅減輕開發員部署程序的工序,同時也提升了部署品質以及穩定度。通常我們會在pipeline增加一個郵件通知的post action,好讓CI/CD工具在完成部署時,通知相關人員部署成功或是失敗。

實際在客戶端配置CI/CD時,有時會遇到客戶端本身沒有架設SMTP Server的情況,這時候就需要藉助第三方SMTP Service,如果是免費方案就更好了😎。

Google了一下發現Twilio SendGrid滿足了我們的需求,它本身提供了一個終身免費方案,該方案每天可以發送最多100封郵件,相信這個額度應該可以滿足不少的族群,詳細定價方案可以參考官方網址 SendGrid Pricing

廢話不多説,我們直接進入主題,首先必須先注冊SendGrid賬號,注冊流程就不在此贅述,一旦注冊完成後,登入SendGrid接著三個步驟就完成了。

步驟一 建立API key

選單:Email API > Integration Guide,該範例我們使用SMTP Relay的方式。

輸入key name按下Create Key系統會自動生成一組密碼,記得把Server/Ports/Username/Password都複製保存下來,沒問題的話打勾I've updated my settings,點Next: Verify Integration完成設定。

步驟二 設定Sender Identity

該範例我們使用Gmail賬戶當作Sender,所以需完成Gmail賬戶驗證。
選單:Settings > Sender Authentication,按下Verify a Single Sender。
接著按下Create New Sender,跳出如下畫面,填入適當資訊後,按下Create,過程中會發郵件到您的Gmail信箱進行身份驗證,所以務必輸入正確的郵件地址。

步驟三 發送測試

使用您熟悉的SMTP Client工具發送測試郵件就完成啦。

留言

這個網誌中的熱門文章

當Google Sites遇上Google Blogger

當Google Sites遇上Google Blogger會蹦出怎樣的火花呢? 答案是免費的形象網站兼具部落格功能,您可能會覺得這真是了無新意,但對於剛創業的個人工作者或是小型工作室,這無非是一個節省成本的選項哦,除了節省成本外,Google Blogger也可以透過Google AdSense達到額外的收益,可説是一舉數得啊! 您可能會説 wordpress.com 或其他類似的服務也有免費的方案啊!沒錯,但是如果您要綁定域名的話,就得升級為付費方案才可以了!反觀Google Sites與Google Blogger在免費方案下,依然都是可以綁定域名,同時也具備SSL的保護呢! 下面就來簡單説説如何使用Google Sites和Google Blogger來搭建一個兼具部落格的形象網站吧,本次重點會著重在域名綁定的部分。 Google Sites 登入 Google Drive ,按下左上角的 新增 > 更多 > Google協作平台 ,系統自動開啓新的Site編輯頁面,右側有很多的網頁元素供我們使用。 編輯過程中可以隨時按下上方的 預覽 小圖示進行畫面預覽。 編輯完成後,我們就可以開始域名的綁定,首先按下上方的 設定 小圖示: 接著左側選單按下 自定網域 ,再按下 開始設定 : 輸入我們申請的域名後,再按下 驗證擁有權 : 系統會自動將我們輸入的域名帶入下一個畫面,直接按下 繼續 即可: 接著系統會指示我們需要新增一筆DNS記錄以便順利通過驗證: 此時我們會需要登入域名供應商提供的管理界面,該範例以 GoDaddy 為例,進入 DNS管理 的畫面後,按下 新增記錄。 這裏我們會需要新增2筆DNS記錄,除了一筆Google Sites驗證使用的記錄之外,還要新增一筆 www 前綴的cname記錄,内容值為 ghs.googlehosted.com. ,需特別注意的是, 最後面的 . 是必須的 。 新增完DNS記錄後,我們再次回到Google Sites域名驗證畫面,按下 驗證 開始進行驗證: DNS記錄生效需要一段時間,如果驗證失敗,建議過幾個小時後再試試。 直到看到下面畫面,表示我們已經完成域名的綁定了。 最後我們就可以把我們的網站發佈到Internet上面了,我們再次回到Google Sites編輯畫面,按下上方的 發佈 小圖示: 接著再按下上方的...

FluentFTP不支援SFTP? 那就用SSH.NET吧!

某天在和客戶端進行FTP對接測試時,莫名報錯了,心想不可能吧,不是測試過了嗎?仔細看了Exception内容: System.TimeoutException Timed out trying to read data from the socket stream! System.TimeoutException: Timed out trying to read data from the socket stream!    at FluentFTP.FtpSocketStream . ReadAsync (Byte[] buffer , Int32 offset , Int32 count , CancellationToken token )    at FluentFTP.FtpSocketStream . ReadLineAsync (Encoding encoding , CancellationToken token )    at FluentFTP.AsyncFtpClient . GetReplyAsyncInternal (CancellationToken token , String command , Boolean exhaustNoop , Int32 timeOut )    at FluentFTP.AsyncFtpClient . GetReply (CancellationToken token )    at FluentFTP.AsyncFtpClient . HandshakeAsync (CancellationToken token )    at FluentFTP.AsyncFtpClient . Connect (Boolean reConnect , CancellationToken token )    at FluentFTP.AsyncFtpClient . Connect (CancellationToken token ) Timed out !! 隨即用 FileZilla Client 測...