配置 Sendmail 及 SendGrid 的伺服器端電子郵件遞送服務
使用下列步驟設定您的伺服器以使用IBM Cloud®電子郵件遞送服務Sendmail。
此範例是 CentOS 6.5 及 Ubuntu 14 的裸機安裝。
前置配置
您需要安裝下列套件,Sendmail 才能適當地使用 SendGrid 作為智慧型主機。
RHEL 及 CentOS
對於 RHEL 和CentOS,運行以下命令:
yum install cyrus-sasl-plain sendmail sendmail-cf
Ubuntu 及 Debian
為了Ubuntu和Debian,執行以下命令:
apt-get install libsasl2-modules sendmail sendmail-cf heirloom-mailx
配置 SendGrid
-
將 SendGrid 使用者名稱及密碼新增至檔案 /etc/mail/access:
AuthInfo:smtp.sendgrid.net "U:YOUR_SENDGRID_USER" "P:YOUR_SENDGRID_PASSWORD" "M:PLAIN"
-
運行以下命令生成/etc/mail/access.db資料庫圖:
makemap hash /etc/mail/access.db < /etc/mail/access
-
編輯 /etc/mail/sendmail.mc 檔案,以使用 SendGrid 作為我們的智慧型主機。
在 RHEL 及 CentOS 中配置 sendmail.mc
-
找到並打開_sendmail.mc_文件。
-
註解掉以下行。
dnl define('SMART_HOST', 'smtp.your.provider')dnl
-
新增具有下列程式碼的新行。
define('SMART_HOST', 'smtp.sendgrid.net')dnl
FEATURE('access_db')dnl
define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl
define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl
在 Ubuntu 及 Debian 中配置 sendmail.mc
-
找到並開啟 sendmail.mc 檔案。
-
在檔案結尾,在顯示 'MAILER_DEFINITIONS' 的行之前插入下列程式碼
define('SMART_HOST', 'smtp.sendgrid.net')dnl
FEATURE('access_db')dnl
define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl
define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl
再生sendmail.cf
這sendmail.mc文件是擴展為真實(並且更複雜)的巨集的集合sendmail.cf設定檔。 為了使您的更改可以被訪問Sendmail,再生sendmail.cf透過使用m4命令。
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重新啟動 Sendmail
重新開始Sendmail使用以下命令:
service sendmail restart
使用命令列郵件實用程式測試更改
使用以下命令測試更改:
echo "Sendgrid and Sendmail" | mail -s "mail subject here" you@yourdomain.com