在 WHM 上配置 SendGrid 电子邮件

SendGrid 是一种基于云的 SMTP 服务,无需管理电子邮件服务器即可实现邮件投递。

注意:默认情况下,我们的虚拟机上的 25 端口已关闭,无法连接。如果您想打开 25 端口,请购买 Mail Bridge 并在 进行配置,位置在 VPS Manager 中。

要在 WHM 上配置 Mailgun 电子邮件,请使用本指南

请按照以下步骤在 WHM 端为您的域名配置 SendGrid 服务和电子邮件系统:

第 1 步。注册 SendGrid:


填写完所有联系信息后,点击“Continue”。

第 2 步。您将被重定向到浏览器中的新标签页以验证您的电子邮件账户。复制发送到您电子邮件账户的验证码,在“Code”字段下输入,然后点击“Verify”:


第 3 步。在“Enter certification code”字段中输入发送到您手机的验证码,以验证您的电话号码,然后点击“Verify”:


第 4 步。然后,系统会向您提供恢复代码,这在您丢失手机或无法访问验证设备时会很有帮助。复制该代码并保存,然后点击“Continue”。您还可以选择将该代码下载为文件:


第 5 步。在下一页填写您的联系信息,然后点击“Next”:


第 6 步。在下一页中,请打开您的 SendGrid 控制面板:


第 7 步。进入后,前往“Settings”>>“API Keys”菜单,在那里创建一个新的 API Key:


第 8 步。在打开的菜单中,输入API Key 名称,将API Key 权限设置为“Full Access”选项,然后保存配置:


第 9 步。设置SendGrid Sender Authentication。有两种方法可以完成此操作:

方法 1:Single Sender Verification

Single Sender Verification 是一种快速验证方法,允许在使用 SendGrid 账户时添加授权收件人(单个或多个电子邮件地址)。例如,如果您想将 cPanel 服务器中添加的 john.doe@example.com 发送邮件给 jane.doe@gmail.com,则需要为此将 jane.doe@gmail.com 电子邮件地址添加到 Sendgrid 的 Single Sender Verification 中。

注意:建议仅将 Single Sender Verification 用于测试

注意:只能从您已验证的地址发送,而不能从已验证域名上的任意地址发送。

  • 要设置 Single Sender Verification,请从您的 SendGrid 控制面板进入“Settings”>>“Sender Authentication”菜单 >> 点击“Verify a Single Sender”按钮:

  • 在下一页中,填写联系信息以创建发件人,然后点击“Create”保存所有内容:

  • 之后,您将收到一封来自 SendGrid 的验证邮件。要确认添加该电子邮件地址,请点击邮件中的“Verify Single Sender”按钮:

方法 2:Domain Authentication(推荐)

  • 点击 “Settings”>> 前往“Sender Authentication”菜单 >> 在“Domain Authentication”字段下,点击“Authenticate Your Domain”:

  • 在下一页中,通过回答第一步和第二步中的问题来验证您的域名,然后点击“Next”:


    注意:在截图中,我们为第二个问题选择了“No”答案。不过,此回答是可选的。

  • 之后,输入所需的域名,如有需要可设置其他附加选项,然后点击“Next”:

  • 现在,需要通过配置相应的 CNAME 和 TXT DNS 记录来验证域名。

    为该域名创建 DNS 记录后,在第 2 步中勾选“I’ve added these records”复选框以确认已添加,然后点击下方的“Verify”:


注意:DNS 记录传播最多可能需要 24-48 小时。

第 10 步。下一步是在 WHM 端为电子邮件账户配置 SMTP 设置

为此,请前往 WHM >>“Service Configuration”>>“Exim Configuration Manager”>> 打开“Advanced Editor”选项卡。搜索“Section: AUTH”并在其中添加以下代码:

sendgrid_login:
driver = plaintext
public_name = LOGIN
client_send = : apikey : <API_KEY_VALUE>

请确保将 <API_KEY_VALUE> 更新为第 8 步生成的 API Key。

第 11 步。之后,查找“Section: POSTMAILCOUNT”并在其中添加以下代码:

send_via_sendgrid:
driver = manualroute
domains = ! +local_domains
.ifdef SRSENABLED
# if outbound, and forwarding has been done, use an alternate transport
transport = ${if eq {$local_part@$domain} \
{$original_local_part@$original_domain} \
{sendgrid_smtp} {sendgrid_forwarded_smtp}}
.else
transport = sendgrid_smtp
.endif
route_list = "* smtp.sendgrid.net::587 byname"
host_find_failed = defer
no_more

第 12 步。 查找“Section: TRANSPORTSTART”并再添加一段代码:

sendgrid_smtp:
driver = smtp
hosts = smtp.sendgrid.net
hosts_require_auth = smtp.sendgrid.net
hosts_require_tls = smtp.sendgrid.net

第 13 步。保存 SMTP 配置。

第 14 步。发送一封电子邮件以查看系统是否正常工作。邮件标头将包含“SendGrid”部分。

需要提供有效的电子邮箱