GCP 電商網站架設教學 :教你如何用 SendGrid 為你的網站發信!

2020-06-19
    內容大綱

SendGrid 是什麼?為何要使用它?
 
一個電商購物網站免不了的就是有一堆信件通知信要寄送,不管是會員註冊信、訂單成立信、優惠通知信 …等,都需要一個郵件伺服器來幫你發送信件,而以GCP架站來說,GCP 的主機會阻擋 25. 465. 587 這幾個Port,因此一般網站常用的幾種寄信方式便不合適,但本次介紹的 SendGrid 可輕鬆解決這個問題,它是一個第三方郵件服務,主要採用 2525 port ,設定上相當容易,不僅可以省去自己架設及維護郵件伺服器的成本,每個月更是提供了 12,000 封信的額度讓你免費使用,下面教你如何一步一步申請並設定SendGrid 為你的網站發信:
 
一、登入GCP ,設定 SendGrid & 申請帳號
 
  1. 登入你的 GCP 帳號,至搜尋框輸入"sendgrid email",可看到" SendGrid Email API" 這個項目,點選它
 
 
  1. 進入「SendGrid Email API」頁面後,直接點選「開始使用免費方案」
 
  1. 接著選擇使用的方案,這裡使用 Free 免費方案,每月最多可免費寄送 12,000 封信件
 
 
  1. 再來要註冊 SendGrid 帳號,點選 "註冊「SendGrid」"的按鈕
 
 
  1. 開始註冊帳號,填入相關欄位資訊後送出。
  2. 而這裡填寫的 Username 及 Password 會當作網站發信用的帳密,請務必記住。
 
 
  1. 送出後回到後台,即可看已訂閱「Free」方案
 
二、SSH 連線主機,設定 Postfix
 
  1. 以 SSH 連線進入主機
  2. 輸入以下指令進行安裝套件及設定
 
sudo umask 077
sudo yum install cyrus-sasl-plain cyrus-sasl-md5 mailx -y
 
  1. 編輯 /etc/postfix/main.cf 文件,至文件最底部,貼上以下設定值,並儲存
 
sudo vi /etc/postfix/main.cf
 
貼上以下設定值:
relayhost = [smtp.sendgrid.net]:2525
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
header_size_limit = 4096000
smtp_sasl_security_options = noanonymous
 
 
  1. 輸入以下指令,建立發信的帳號密碼檔,USERNAME 填入剛註冊的帳號 (注意是username,不是信箱),PASSWORD 填入註冊密碼
 
sudo echo [smtp.sendgrid.net]:2525 USERNAME:PASSWORD >> /etc/postfix/sasl_passwd
 
  1. 輸入以下指令,將上面建立好的檔案,轉成db格式
 
sudo postmap /etc/postfix/sasl_passwd
 
  1. 輸入以下指令,確認是否有產生.db的檔案
 
sudo ls -l /etc/postfix/sasl_passwd.db
 
  1. 確認建立好後刪除先前的帳號密碼檔
 
sudo rm-rf /etc/postfix/sasl_passwd
 
  1. 輸入指令,重啟 postfix,若無錯誤訊息則表示設置成功
 
sudo postfix reload
 
三、測試發信
 
  1. 輸入下面指令測試發信,youremail@example.com 填入你的信箱,若有收到主旨為"Test-Email",內容為"Message"的信件,即表示設定成功!
 
echo 'Message.' | mail -s Test-Email youremail@example.com
 
 
  1. 也可使用程式來發信,設定資訊如下:
  2.  
SMTP
Host: smtp.sendgrid.net
Port: 2525
Username: 註冊帳號 (非註冊信箱)
Password: 註冊密碼
 
 
結論
 
這樣操作下來是不是方便申請也容易設定呢!但要注意的是,若你的每月發信量超過 12,000 封,那可能就不適合免費方案,若是超出額度將會無法寄信,如有疑問或是想更了解 SendGrid 的話可到他們官網查詢它的相關文件!
 
 
參考文獻


2020-03-03

網站架設教學第一步,如何購買主機?以GCP為範例

    內容大綱

主機的挑選是網站架設的第一步,這裡先介紹可思科技常用的主機商,Google的GCP主機,可思科技的官網也是用GCP的呦!

現在申請的話有免費的300美元可以用,換算台幣已經快1萬了!

第一步,先有Google帳號,然後來到以下網址,點產品按鈕

https://cloud.google.com/?hl=zh-tw

網站架設GCP主機租用第一步

 

第二步:選擇Compute Engine

選擇compute

 

第三步:點選前往主控台點選前往主控台

 

第四步:點選建立執行個體點選建立執行個體

 

第五步:選擇相關資料

紅色框的名稱:打上專案的名字!

紅色框的區域:基本上我們會選台灣,如果是有特殊需求的客戶,才會建議放國外,右邊的區域那邊看個人喜好,不會有太大差異!

橘色框的系列和機器類型:通常因為預算問題,所以都使用最低配的標準方案!

藍色的部份:那邊是試算價錢,通常是只有參考用!

綠色的部份:更換作業系統

選擇相關資料

第六步:更換作業系統

通常我們可思科技習慣用CentOS 8,所以看你的個人喜好,愛換哪個就換哪個吧!

最後只要點下選取按鈕,然後滑到下方按儲存,整個GCP就算建立好了,

當然建立好GCP以後,還有其他的設定與開啟方式,可以滑到下方看相關教學文章呦!

更換作業系統


2020-03-28

GCP 電商網站架設教學: VM 靜態 IP 設定

    內容大綱

當你建立完成 VM 後,即可在介面看到已建立的VM,此時你會看到預先配置好的臨時 IP,臨時 IP 不可當成網站的固定 IP 來使用,因為若是將 VM 重新啟動臨時 IP 會再次變動,因此我們需要將臨時外部 IP 位址改為靜態 IP 位址,好供網站 DNS 使用。
如何將臨時IP調整為靜態 IP 呢?可根據下面步驟執行:
 
 
 
  1. 1. 至主選單 " VPC網路 -> 外部IP位址" 的地方,會看到原先 VM 建立時用的 IP,其類型為「臨時」,我們將類型由「臨時」改為「靜態」
  2.  
 
2. 這時會跳出「預約新的靜態IP位址」,填入可識別的名稱點選「預約」送出
 
 
  1. 3. 回到外部 IP 位址頁面,即可看到 IP 類型已成功改為「靜態」
  1. 之後設定網站 DNS,將網域的 A 紀錄指向這組 IP,DNS 生效後即可瀏覽該主機架好的網站囉!
 
 
 

2020-04-27

AWS 網站架設教學 - SES 發信設定

    內容大綱

登入你的AWS帳號進到主控台,並選擇 Simple Email Service,開始以下的設定:

 

一、驗證網域

1. 點選左邊選單的「Domains」選項,再按「Vefify a New Domain」來新增一組你的網域

2. 在 Domain 欄位填入你的網域,並點選「Verify This Domain」送出

3. 此時你會到以下畫面,這邊需要你去新增設定DNS的TXT記錄來驗證網域,Domain Verification Record下方的TXT記錄即為你所需設定的資料

4. 回到SES介面,你會看到已新增的網域,若是TXT記錄設定失敗或尚未生效,則會顯示「pending verification」的狀態,若顯示為「verified」便完成了網域驗證的步驟

 

二、驗證信箱

1. 點選左邊選單的「Email Addresses」選項,再按「Vefify a New Email Address」來新增信箱

2. 在 Email Address 欄位填入你的網域,並點選「Verify This Email Address」送出

3. 接著到登入你的信箱,你會收到一封AWS SES發來的信箱驗證信

4. 點選信件中的驗證網址,即可成功驗證信箱

5. 回到SES介面,你會看到剛剛新增的信箱驗證狀態更新為「verified」,此時已完成信箱驗證的步驟

 

三、建立 SMTP Credentials

1. 點選左邊選單的「SMTP settings」選項,再按「Create My  SMTP Credentials」新增一組SMTP登入資料

2. 這邊會自動產出一組IAM 使用者名稱,直接點選「建立」

3. 這時會看到新增的SMTP使用者名稱及密碼,我們要使用此組帳密來發信,所以請務必要記下來

4. 回到 SMTP settings 介面會看到 SMTP 發信用的 Server Name 及 Port ,再加上剛才記下來SMTP使用者名稱及密碼,即為我們所需用到的發信資料!

 

四、撰寫程式,測試發信

1. 使用你擅長的程式語言來撰寫發信程式

2. 發信的設定參數值即為剛剛所建立的 SMTP Credentials資料,資訊輸入正確的SMTP即可成功發信囉!

但要注意以下幾點:

(1) AWS 預設限制阻擋由內到外的 25 port 流量,所以請使用 587或 465 port 來發信

(2) 若必須要使用 25 port 來發信,則需另外向AWS提出申請,請參閱 如何從 EC2 實例取消端口 25 上的限制

(3) 未向AWS提出轉正式模式時,皆在沙盒模式中,僅有被驗證的信箱可拿來發信及收信,要解除沙盒模式的話需另填寫表單提出申請轉正式模式

 

整個過程是不是簡單又快速呢!若是使用AWS主機的話不妨試試使用SES來發信吧!使用EC2的主機還有每月62,000封的免費額度哦 ~


相關資訊

其它資訊