IBM Cloud Docs
为 Sendmail 和 SendGrid 配置服务器端电子邮件传递服务

为 Sendmail 和 SendGrid 配置服务器端电子邮件传递服务

使用以下步骤配置服务器,以便通过 Sendmail 使用 IBM Cloud® 电子邮件发送服务。

此示例是 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可以访问您的更改,请使用m4命令重新生成sendmail.cf。

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