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 = plaintextpublic_name = LOGINclient_send = : apikey : <API_KEY_VALUE>
请确保将 <API_KEY_VALUE> 更新为第 8 步生成的 API Key。
第 11 步。之后,查找“Section: POSTMAILCOUNT”并在其中添加以下代码:send_via_sendgrid:driver = manualroutedomains = ! +local_domains.ifdef SRSENABLED# if outbound, and forwarding has been done, use an alternate transporttransport = ${if eq {$local_part@$domain} \{$original_local_part@$original_domain} \{sendgrid_smtp} {sendgrid_forwarded_smtp}}.elsetransport = sendgrid_smtp.endifroute_list = "* smtp.sendgrid.net::587 byname"host_find_failed = deferno_more
第 12 步。 查找“Section: TRANSPORTSTART”并再添加一段代码:sendgrid_smtp:driver = smtphosts = smtp.sendgrid.nethosts_require_auth = smtp.sendgrid.nethosts_require_tls = smtp.sendgrid.net
第 13 步。保存 SMTP 配置。
第 14 步。发送一封电子邮件以查看系统是否正常工作。邮件标头将包含“SendGrid”部分。