我们的许多初学者用户都问我们为什么他们的联系表单插件不发送电子邮件,或者为什么他们没有看到任何wordpress通知。
在本文中,我们将向您展示如何解决wordpress不发送电子邮件的问题,以便您的网站可以更可靠地发送电子邮件并绕过垃圾邮件文件夹。
为什么您没有从wordpress网站获取电子邮件电子邮件丢失的最常见原因是您的wordpress托管服务器未正确配置为使用php?mail()函数。
即使您的托管服务器配置为可以使用它,许多电子邮件服务提供商(例如gmail和其他服务提供商)也会使用各种工具来减少电子邮件垃圾邮件。这些工具试图检测电子邮件确实来自其声称来自的位置。
wordpress网站发送的电子邮件通常无法通过此测试。
这意味着当从您的wordpress网站发送电子邮件(联系表单插件,管理员通知等)时,它甚至可能无法进入收件人的垃圾邮件文件夹,更不用说收件箱了。
这就是为什么我们建议不要使用wordpress发送电子邮件时事通讯的原因。
这也是我们建议大家使用smtp在wordpress中发送电子邮件的原因。
什么是smtp?
smtp(简单邮件传输协议)是用于发送电子邮件的行业标准。
与php mail()函数不同,smtp使用适当的身份验证,这可以提高电子邮件的可传递性。
wordpress有一个wp mail smtp插件,可将wordpress网站配置为使用smtp而不是php mail()函数发送电子邮件。
您可以使用它来连接任何流行的smtp服务,例如sendinblue,gmail(g suite),office365,amazon ses等。
话虽如此,让我们看一下如何解决wordpress不发送电子邮件的问题。
安装wp mail smtp插件无论选择哪种smtp服务,都需要在您的站点上安装wp mail smtp插件。这使您可以将wordpress从使用内置php mail()函数切换为使用smtp服务。
首先,安装并激活wp mail smtp插件。如果您不确定如何安装,请参阅有关如何安装wordpress插件的分步指南。
接下来,单击wordpress仪表板中的wp mail smtp以配置插件设置。
首先,您需要输入希望您的网站电子邮件来自的名称和公司电子邮件地址。确保您在此处使用与smtp邮件服务相同的电子邮件地址。
您可以选择强制电子邮件使用此名称和电子邮件地址,即使其他插件(例如wpforms)具有不同的设置也是如此。wp mail smtp将覆盖其他插件的设置。
之后,您需要为您的站点选择smtp邮件服务。
在本教程中,我们将使用sendinblue设置smtp?。如果您希望使用gmail或office365,那么我们还将在本文后面提供有关这些内容的说明。
要完成wp mail smtp的设置,您需要使用sendinblue创建一个帐户。我们将继续进行下一步,然后返回完成wp mail smtp上的设置。
使用sendinblue发送wordpress电子邮件sendinblue是受欢迎的电子邮件服务提供商。他们使您可以发送大量具有高传递性的电子邮件。
您可以使用sendinblue每天免费发送多达300封电子邮件,这对于大多数小型网站来说已经足够了。
这些可能是来自您的联系表的电子邮件,新用户帐户详细信息,密码恢复电子邮件或通过您的wordpress网站发送的任何其他电子邮件。
首先,您需要转到sendinblue网站创建一个帐户。点击“免费注册”按钮来设置您的帐户。
创建帐户后,您将看到sendinblue仪表板。如果您在设置阶段没有完成个人资料,则系统会提示您这样做。
接下来,您需要联系支持团队,要求他们验证您的帐户,以便您可以通过sendinblue发送电子邮件。
我们建议您在此阶段联系支持团队,因为他们可能需要大约24小时才能验证您的帐户。您可以在等待时继续执行其他步骤。
转到sendinblue.com/contact并写一条消息,其中包括:
请求激活您的帐户您网站的网址请注意,您将发送交易电子邮件。如果您还想将sendinblue用于电子邮件时事通讯,则需要声明您也将发送市场营销电子邮件。
可能会要求您提供更多信息。如果没有,您应该收到sendinblue的电子邮件,告知您您的帐户已被批准。
将消息发送给联系团队后,您可以继续将域名添加到网站。
请记住,在继续本教程的下一阶段之前,无需等待答复。
为您的网站设置子域首先,您需要设置一个子域。这就像您网站的单独部分。我们建议使用mail1.yourdomain.com。
注意:您的wordpress主机可能不允许您将邮件用作子域,这就是我们也将1放在其中的原因。
要添加子域,请登录您的虚拟主机帐户,然后在控制面板的“域”部分中找到。
为了本教程的缘故,我们将在bluehost的示例托管帐户上演示如何执行此操作。登录后,转到“域?子域”。
然后,您可以输入您的子域,然后单击“创建”。
如果您使用的是其他托管公司,或者您的dns是由domain.com或godaddy之类的域名注册机构管理的,请按照其各自的说明进行操作。
创建子域后,需要将其添加到您的sendinblue帐户中。
将您的子域添加到sendinblue在您的sendinblue帐户中,转到“设置”,然后找到“您的发件人”,然后单击“配置”按钮:
接下来,单击“域”选项卡,然后单击“添加新域”按钮。
输入整个子域(例如mail1.yoursite.com),然后选中“我想使用该域名对我的电子邮件进行数字签名(spf,dkim,dmarc)”旁边的框。
接下来,单击“保存”,您将看到一个列出了多个dns记录的弹出窗口。
这些代码行使sendinblue可以授权您的域名。
提示:如果您意外关闭此弹出窗口,请不要担心。您可以通过点击子域旁边的“验证此域”按钮来重新获得它:
打开一个新的浏览器选项卡,然后重新登录到您的虚拟主机帐户。您需要找到您的域并打开dns记录。
在bluehost中,您可以通过以下方法执行此操作:转到“域?我的域”,然后单击域旁边的“管理”。
您需要在此处添加sendinblue提供的3条txt记录。
首先,向下滚动以查找dns记录的txt部分。它看起来像这样:
然后,点击“添加记录”。
如下完成第一条记录:
主机记录:?mail._domainkey.mail1
记录类型:?txt
txt值:从sendinblue复制该记录。
ttl:?1天
提示:主机记录可能被您的网络主机称为主机或名称。如果您在子域中使用了其他内容,请更改mail1。记录类型可能不是必需的。txt值也可以称为txt数据:它是sendinblue详细信息中的第一段很长的代码。ttl可能是24小时或86400秒(两者都等于1天)。如果您使用的是godaddy,请将其设置为1小时。
添加第一条记录后,单击“保存”。
接下来,您需要添加第二条记录。如下完成它:
主机记录:?mail1
记录类型:?txt
txt值:?v=spf1 include:spf.sendinblue.com mx ~all
ttl:?1天
完成后,点击“保存”。
保存后,您需要添加第三条记录。如下完成它:
主机记录:?mail1
记录类型:?txt
txt值:从sendinblue复制该记录。这是第三段代码。
ttl:?1天
完成后,继续保存该记录。
警告:?sendinblue还有dmarc记录的第四段代码。您不需要它,我们强烈建议您跳过它,除非您有dmarc配置的经验。
添加记录后,请返回sendinblue。对于每条记录,单击“添加记录”按钮。请验证。”?sendinblue可能需要24-48小时才能验证您的记录,但通常要快得多。
如果单击该按钮时没有任何反应,则该记录尚无法验证。稍后再检查,看看是否已通过验证。一旦有了它们,您将在绿色的记录旁边看到单词“已配置”:
等待验证发生时,您可以继续学习本教程。
完成设置wp邮件smtp以使用sendinblue返回到wordpress仪表板中的wp mail smtp设置。您应该已经输入了“发件人电子邮件”和“发件人姓名”,但是如果没有,则可以立即输入。
保留“返回路径”复选框为未选中状态,因为sendinblue不使用此选项。
接下来,为您的邮件单击“ sendinblue”。
您需要进入您的sendinblue帐户以找到您的api密钥。只需单击“ api密钥”框下方的链接,您的sendinblue帐户信息中心将在正确的位置打开一个新标签。
从此页面复制v3?api密钥。
恭喜你?现在,您已经完成了所有设置。最后一步是发送测试电子邮件,以确保一切正常。
转到wp mail smtp的“电子邮件测试”标签,然后输入要发送电子邮件的电子邮件地址。这将默认为网站的管理员电子邮件。点击“发送电子邮件”。
您应该看到消息“测试html电子