IBM Cloud Docs
配置 Sendmail 及 SendGrid 的伺服器端電子郵件遞送服務

配置 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

  1. 將 SendGrid 使用者名稱及密碼新增至檔案 /etc/mail/access:

    AuthInfo:smtp.sendgrid.net "U:YOUR_SENDGRID_USER" "P:YOUR_SENDGRID_PASSWORD" "M:PLAIN"

  2. 運行以下命令生成/etc/mail/access.db資料庫圖:

    makemap hash /etc/mail/access.db < /etc/mail/access

  3. 編輯 /etc/mail/sendmail.mc 檔案,以使用 SendGrid 作為我們的智慧型主機。

在 RHEL 及 CentOS 中配置 sendmail.mc

  1. 找到並打開_sendmail.mc_文件。

  2. 註解掉以下行。

    dnl define('SMART_HOST', 'smtp.your.provider')dnl

  3. 新增具有下列程式碼的新行。

    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

  1. 找到並開啟 sendmail.mc 檔案。

  2. 在檔案結尾,在顯示 '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