在排除WordPress不发送电子邮件的故障时,这有时会有点棘手。为什么?因为许多托管的WordPress主机不提供传统的电子邮件托管。
SendGrid是另一个流行的交易电子邮件服务提供商。事务性电子邮件的一些示例包括新用户注册电子邮件、密码重置电子邮件、WooCommerce订单通知等。基本上,网站功能或任何与营销无关的内容所需的基本电子邮件。这意味着您通常可以起床走动,而不必担心电子邮件。
因此,如果您需要完全控制您的DNS记录 (DKIM) 或在发送电子邮件时遇到问题,那么使用第三方SMTP提供商(事务性电子邮件服务)配置您自己的WordPress会很有帮助。
今天我们将向您展示如何在WordPress中配置SendGrid以发送电子邮件。
- 什么是SendGrid?
- 创建SendGrid帐户和API密钥
- 如何使用Post SMTP插件配置SendGrid
- 配置SendGrid域身份验证
什么是SendGrid?
SendGrid(现在归Twilio所有)被业内一些知名企业使用,例如Uber、Spotify、Yelp、Airbnb等。它最初是为开发人员设计的事务性电子邮件SMTP和API服务。但是,他们现在也提供电子邮件营销功能。因此,您可以将它们用于一个或另一个或两者。今天我们将关注事物的事务性方面,因为这可能是你们大多数人试图启动和运行的。
SendGrid有30天的免费试用期,您最多可以发送40,000封电子邮件。之后,您可以永远免费继续免费试用,每天最多发送100封电子邮件。
如果您需要更多电子邮件,他们的Essentials计划起价为每月14.95美元,您每月最多可以发送40,000封电子邮件。每封额外电子邮件的费用为0.001美元。但您也可以升级到更高的计划以节省更多资金。
一些额外的好处包括:
- 能够使用Web API或SMTP发送电子邮件。Web API速度更快,包括用于管理用户取消订阅、管理IP、模板电子邮件等的功能。
- 通过域和链接自定义提高送达率以命中用户收件箱,无论是从共享IP池还是从专用IP发送。
- 使用我们的自定义SPF和DKIM记录创建消除域欺骗和网络钓鱼电子邮件。
- 受益于通过我们安全、分布式和冗余数据中心的持续邮件流。
- 实时和可搜索的日志。
创建SendGrid帐户和API密钥
您需要做的第一件事是创建一个SendGrid帐户并生成您的API密钥。请按照以下步骤操作。
第1步
首先,在SendGrid.com注册免费试用。然后通过单击您收到的确认电子邮件来验证您的帐户。
SendGrid确认电子邮件
第2步
进入后,我们强烈建议您设置两因子身份验证。电子邮件传递和路由非常重要,您最不希望有人入侵您的帐户。这为您的帐户增加了一层额外的保护。您可以在“Settings”→“Two-Factor Authentication”下执行此操作。
他们为您提供了两种选择:Authy App(推荐)或短信(SMS)。
SendGrid两因子身份验证
第3步
接下来,您需要生成您的SendGrid API密钥。点击进入“Settings”→“API Keys”。然后单击“Create API Key”。
SendGrid创建API密钥
第4步
为您的API取一个您可以识别的名称。这可以是任何东西。选择“Full Access”,然后单击“Create & View”。
SendGrid创建API密钥
您将需要复制您的API密钥并将其保存在安全的地方,因为他们不会再次向您显示它。您将需要它来配置下面的插件。
SendGrid API密钥
如何使用Post SMTP插件配置SendGrid
我们建议使用流行的免费Post SMTP插件配置SendGrid 。也许您已经在当前设置中使用了此插件,因此将其切换到SendGrid应该很容易。
Post SMTP插件
Post SMTP插件会定期更新并支持通过SendGrid的SMTP中继以及SendGrid的Web API发送。它目前拥有100,000多个活跃安装。
您可以从WordPress插件库下载它,也可以在WordPress仪表盘中的“插件”→“安装插件”下搜索它。
以下是您可能想要使用Web API方法与SMTP的几个原因:
- SMTP连接有多个故障点。
- Web API方法通常比SMTP更快,延迟更少。
- 与使用SMTP的标准凭证方法相比,Web API使用API密钥增加了额外的安全层。
- 有时WordPress主机会在端口 25、465和587上阻止与SMTP的出站连接。或者他们甚至可能根本不支持SMTP。使用Web API方法,您不必担心这一点。
- 替换默认的wp_mail函数以发送电子邮件。
第1步
安装插件后,单击“Post SMTP”→“Start the Wizard”。
Post SMTP向导
第2步
输入您想要“send mail as”的电子邮件地址和名称。这是用户从您的网站收到电子邮件时会看到的内容。然后点击“Next”。
Post SMTP发件人详细信息
第3步
我们将使用SendGrid的API,而不是SMTP。但是,如果API出现任何问题,将来拥有SMTP服务器将是一个后备。所以输入SendGrid的SMTP服务器地址,即:smtp.sendgrid.net
。然后点击“Next”。
Post SMTP外发邮件服务器主机名
第4步
选择“SendGrid API”,然后单击“Next”。
SendGrid API身份验证
第5步
现在回到Post SMTP Setup,粘贴您之前生成的SendGrid API密钥,然后单击“Next”。
Post SMTP设置SendGrid API密钥
第6步
然后,您可以选择在电子邮件未能送达时收到通知的方式。电子邮件是默认且最简单的选项。Post SMTP甚至有一个Slack选项。然后点击“Next”。
Post SMTP电子邮件通知
第7步
然后,您可以发送测试电子邮件以确保一切正常。在“Actions”菜单下,单击“Send a Test Email”。
Post SMTP测试邮件
输入您要向其发送测试的收件人电子邮件地址,然后单击“Next”。如果一切正常,您将看到“Success”消息。
Post SMTP测试电子邮件成功
就是这样!来自您的WordPress站点的所有电子邮件现在都将通过SendGrid的邮件服务器发送出去。请务必检查您的收件箱和垃圾邮件文件夹,以确保测试电子邮件通过。您还可以检查SendGrid活动提要。
SendGrid活动提要
第8步
然后您应该跳到下面的部分来配置您的SendGrid域身份验证。
配置SendGrid域身份验证
配置您的SendGrid域身份验证将通过向收件箱提供商证明您拥有从中发送的域来提高可传递性。否则,您的电子邮件可能最终会出现在垃圾邮件文件夹中。
第1步
在SendGrid仪表盘中,单击进入“Settings”→“Sender Authentication”。在域身份验证部分下,单击“Get Started”。
SendGrid域认证
第2步
选择您正在使用的DNS主机。然后点击“Next”。
DNS主机
第3步
输入您要发送的域。然后,您可以选择您喜欢的安全类型。默认和推荐的选项是“Use automated security”。启用后,SendGrid将自动轮换您的DKIM密钥,以便它们不会被破坏。然后点击“Next”。
SendGrid域发送自
第4步
然后您需要添加DNS记录,以便您的电子邮件指向SendGrid。您可以在您的域注册商或第三方DNS提供商处执行此操作。它们需要三个CNAME记录。如果您需要这方面的帮助,您可以随时向您的提供商寻求帮助。
添加它们后,选中“I’ve added these records”框,然后单击“Verify”。注意:添加DNS记录后,可能需要一段时间才能传播。大多数只需要几分钟,但可能需要长达24小时。
SendGrid DNS记录
然后您应该会看到“It worked!” 域验证完成时的消息。
SendGrid已验证
您现在应该已经准备好发送电子邮件了!请记住,上面的插件替换了默认的wp_mail函数。这意味着从您的站点发出的所有电子邮件现在都将通过SendGrid路由。