如何为WordPress网站配置SMTP发信邮局

默认情况下,WordPress使用不可靠的PHP邮件功能,并且所发出的电子邮件经常会被邮件服务商标记为垃圾邮件。使用SMTP服务器是确保WordPress电子邮件可传递性的最佳方法。

在本教程中,我们将详细介绍如何使用免费的SMTP服务器发送WordPress电子邮件。

free-smtp-server-main-3.pngo_

为什么使用SMTP服务器发送WordPress电子邮件?

WordPress站长经常遭遇无法发送电子邮件问题,解决此问题的最简单方法是使用SMTP服务器。

默认情况下,WordPress通过PHP mail发送电子邮件。不幸的是,并非所有WordPress所托管的服务器正确配置PHP mail,再说大部分国内的服务器提供商已经禁用了服务器邮局功能。

此外,即使使用PHP mail成功发送了电子邮件,也可能会被邮件接收服服务器错误地识别为垃圾邮件。

确保WordPress电子邮件可传递性的最佳方法是使用SMTP服务器。这是在Internet上发送电子邮件的标准协议。

SMTP服务器使用正确的身份验证来确保电子邮件是由授权发件人发送的。这样可以提高可传递性,并且电子邮件可以安全地进入用户的收件箱。

要在WordPress网站上使用SMTP服务器,需要借助第三方插件来实现。当然部分WordPress主题也附带了SMTP邮局功能,比如闪电博提供的WordPress付费主题。

如果需要使用插件实现,我们推荐使用WP Mail SMTP插件,它是目前WordPress的最佳SMTP插件,即使免费版本也能够满足站长的基本需求。

使用WP Mail SMTP插件配置SMTP邮局

第一步是安装并启用WP Mail SMTP插件。

启用后,进入WordPress管理后台中的 WP Mail SMTP » Settings 页面进一步设置。

wpmail-smtp-settings-3.pngo_

您需要先输入“From Email(发件人电子邮件)”和“From Name(发件人姓名)”。WordPress电子邮件将以你设置的电子邮件地址和名称发送。

此外务必选中“Force From Name”复选框,以确保来自WordPress站点的所有电子邮件都是通过SMTP服务器以设置好的电子邮件地址发出。

提示:只需勾选“Force From Name”即可保证所有电子邮件都来自相同的名称,即可忽略其他插件(例如WPForms)的设置。

from-email-wp-mail-smtp-3.pngo_

接下来,需要选择一个SMTP邮件服务,如下图所示。

mailer-options-wp-mail-smtp-4.pngo_

注:下面的教程将会以列表中的SMTP服务器为例子进行说明,如果你要使用163邮箱或者QQ邮箱提供的SMTP服务,建议阅读163邮箱&QQ邮箱SMTP邮局设置教程。国内网站建议尽可能选择国内的SMTP服务器,而不是国外的SMTP服务器。

下面将介绍多个海外不同的免费SMTP服务。您需要保持WP Mail SMTP设置选项卡打开,然后按照所选SMTP服务的说明进行操作。

  • 使用Sendinblue提供的SMTP服务器发送邮件
  • 使用Gmail提供的SMTP服务器发送邮件
  • 使用MailGun提供的SMTP服务器发送邮件
  • 使用SendGrid提供的SMTP服务器发送邮件

使用Sendinblue提供的SMTP服务器发送邮件

Sendinblue支持每日最多发送300封免费电子邮件。

首先,需要在Sendinblue网站上创建一个帐户。验证你的电子邮件地址后,网站会要求您选择一个Sendinblue付费计划。点击“Continue with a Free plan”按钮进入下一步。

free-plan-sendinblue-3.pngo_

接着,你需要输入收到确认码已完成注册步骤。注册成功后,进入Sendinblue管理仪表盘。

dashboard-sendinblue.pngo_

在继续之前,你需要访问域名管理创建一个子域,例如mail1.yourdomain.com。(在这里就不对子域名设置展开说明了)

创建子域后,将其添加到您的Sendinblue帐户中。转到“Settings”页面。在此页面上,滚动到“Your Senders and Domains”部分,然后单击其下面的“Configure”按钮。

senders-domains-configure-sendinblue-4.pngo_

接下来,点击“Domains”标签,然后点击“Add a New Domain”按钮。

sendinblue-add-new-domain-3.pngo_

输入前面你配置好的域名子域,例如mail1.yoursite.com。确保选中复选框,以确认要使用域名对电子邮件进行数字签名。然后,单击“Save”按钮。

sendinblue-add-domain-checkbox-4.pngo_

保存后,将会出现一个弹出列表,要求您进行验证域步骤。默认验证方法为上传文件,又或者使用添加DNS条目。可以根据自己的便利性选择合适的方法。(关于域名验证的步骤,小编就不再展开说明,毕竟所有域名验证的步骤都大同小异)

get-dns-entry-code-from-sendinblue-3.pngo_

提示:如果误关闭了此弹出窗口,可以通过点击子域旁边的“Verify This Domain”链接来重新验证域。

verify-this-domain-reopen-sendinblue-2.pngo_

完成文件上传或者添加DNS条目后,返回Sendinblue并继续往下走。

verify-record-added-sendinblue-2.pngo_

提示: DNS更改最多可能需要24到48小时才生效。如果验证失败,请在几个小时后重试。或者改用上传文件验证。

完成此操作后,您还需要再输入两个DNS TXT记录,以便Sendinblue可以对从您的域发送的电子邮件进行身份验证。这提高了可传递性。

在Sendinblue中,单击您域旁边的“Manage”下拉菜单,然后选择“Authenticate this domain”选项,进一步验证域。

您将看到一个弹出窗口,其中包含需要添加的DNS记录的详细信息。您只需要添加前3个DNS记录,如果前面做了一次DNS条目验证,则第三个无需再添加,第四个可以忽略。

sendinblue-authentication-codes.pngo_

每当你在域名管理添加了DNS TXT记录,点击对应的“Record Added. Please Verify It”进行验证。

完成上述步骤,返回WP Mail SMTP设置页面,然后找到API Key输入框,点击“Get v3 API Key”链接。

get-api-key-wp-mail-smtp-1.pngo_

这将会在新标签中打开您的Sendinblue帐户的SMTP&API页面,复制API KEY即可。

api-key-sendinblue-copy.pngo_

再次返回WP Mail SMTP设置页面并粘贴API KEY,点击Save Settings即可。

save-api-key-wp-mail-smtp.pngo_

完成上述操作后,只需要等待Se​​ndinblue激活您的帐户即可发送测试邮件,看设置是否成功。

使用Gmail提供的SMTP服务器发送邮件

注:国内不能直接使用谷歌的API服务,需要梯子辅助!

如果你的网站主要是面对国外访客,也可以考虑使用免费的Gmail帐户发送SMTP电子邮件。如果您还没有Gmail帐户,需要创建一个帐户,然后再按照下面的说明进行操作。

首先,确保安装并启用了WP Mail SMTP插件。在 WP Mail SMTP » Settings 页面上,选择Gmail作为Mailer。

在下一个界面,您将会看到需要输入Client ID,Client Secret及URL,不要关闭此页面。

gmail-setup-options-wp-mail-smtp.pngo_

访问Google Developers Console网站,同意条款和条件后,点击“Create Project”按钮。

google-developers-create-project.pngo_

输入项目名称后,点击Create按钮进入下一个步骤。

name-new-project-google.pngo_

在项目仪表盘,点击“Enable APIs and Services”按钮。

enable-apis-services-google.pngo_

进入到谷歌的API库,在搜索栏中输入“Gmail”进行搜索。

api-library-search-bar.pngo_

在搜索结果中找到Gmail API,点击进入下一步。

select-gmail-api.pngo_

接下来,您将看到有关Gmail API的一些信息,单击Enable按钮。

gmail-api-overview.pngo_

启用该API可能需要花费几秒钟,接下来点击“Create Credentials”按钮。

create-credentials-google-api.pngo_

在下一个步骤,您需要完成以下选项设置:

  • 您正在使用哪个API?-Gmail API
  • 您将从哪里调用API?-Web browser (Javascript)
  • 您将访问哪些数据?-User data

最后点击“What credentials do I need?”。

add-credentials-to-project-google-api.pngo_

将会弹出窗口提示创建OAuth同意,点击“Set Up Consent Screen”链接即可。

set-up-consent-screen-google.pngo_

OAuth同意界面将在新标签中打开。在这里,您需要选择“External”类型,然后单击“Create ”按钮。

external-consent-screen-create.pngo_

接下来,需要填写应用名称及支持邮件地址。

oauth-app-registration-details.pngo_

向下滚动到“Authorized domains”部分,单击“Add Domain”按钮,然后输入网站域名。

注:域名无需填写httphttps或者www

接填写开发者联系邮箱,点击“Save and Continue”按钮。

authorized-domain-google-app-registration.pngo_

在“Test users”步骤,单击“Add Users”按钮,输入您的Gmail地址。

add-test-users-google-app.pngo_

然后,再次按“保存并继续”。继续并返回到其他选项卡以设置项目的凭据。您可以输入任何名称,也可以直接保留默认名称。

在“Authorized JavaScript origins”中,输入网站的域名。

在“Authorized redirect URIs”,您会找到需要在WP Mail SMTP的设置中输入重定向URL(这部分信息很重要,复制保存下来)

enter-domain-authorized-redirect-URI.pngo_

点击下方的“Refresh”按钮,即会出现“Create OAuth client ID”按钮,点击进入最后步骤。

click-create-oauth-client-id-button.pngo_

至此,已完成Google Web应用程序创建,单击“Done”按钮。

google-app-created-click-done.pngo_

跟着下来,将看到列出刚刚创建Web应用程序,单击其旁边的编辑图标。

edit-web-application.pngo_

即可看到WP Mail SMTP插件设置所需要的Client IDClient Secret(这部分信息很重要,复制保存下来)

copy-client-id-client-secret.pngo_

将“这部分信息很重要”内容复制并粘贴到WP Mail SMTP设置页面中。然后,继续并单击“Save Settings”按钮。

enter-client-id-wp-mail-smtp.pngo_

页面刷新后,向下滚动,然后单击“Allow plugin to send emails using your Google account”按钮。

authorize-plugin-send-emails.pngo_

在打开的弹出窗口,选择您的电子邮件帐户。您将看到一个警告界面,只需单击“Advanced”链接,然后单击左下角“Go to wpmailsmtp.com”链接(忽略安全提醒,因为这个APP是你自己创建的)。

continue-app-not-verified.pngo_

Google将会弹出窗口,要求您授予权限。继续单击“Allow ”按钮。

grant-wpmailsmtp-permission.pngo_

Google会让你再次勾选确认,单击“Allow”按钮即可。

confirm-permissions-google-app-allow.pngo_

最后,将会返回到WP Mail SMTP插件界面。您将会看到一条消息,确认您已成功将网站链接到Google API项目。

完事,自己给自己发个测试邮件,看SMTP邮局是否生效。

使用MailGun提供的SMTP服务器发送邮件

MailGun是另一个广受欢迎的SMTP电子邮件服务提供商,支持3个月内免费发送电子邮件5,000封/月。

首先,访问MailGun网站点击“Start Sending”按钮以注册一个帐户。

MailGun要求填入信用卡详细信息(这一点不太友好,不过老外经常喜欢这么干)。如果超出免费的范围,则将按0.80美元/每1,000封电子邮件收费。

完成后,点击页面底部的“Create Account”按钮。

create-mailgun-account.pngo_

然后您将会进入帐户仪表盘。

account-dashboard-mailgun.pngo_

在继续设置下面的步骤之前,务必登入你的注册邮箱找到来自Mailgun的验证电子邮件,点击电子邮件中的链接激活您的Mailgun帐户。

提示:您还将收到一封电子邮件,通知您API密钥已添加到Mailgun帐户中。

mailgun-verify-email-address.pngo_

点击验证链接后,将提示您输入并验证您的手机号码。接下来,再次回到Mailgun仪表板。

同样,Mailgun也要求创建一个网站域名的子域,例如mg.yourdomain.com(此处不展开说明)。

创建子域后,返回到Mailgun仪表板,然后转到 Domains » Subdomains 页面。

mailgun-add-new-domain.pngo_

接下来,输入前面创建好的域名子域。

只需将“Domain region”设置为US即可,除非您在EU内。

点击下面的“Advanced Settings (DKIM)”链接进入DKIM设置。

选中“Create DKIM Authority”复选框,“DKIM key length”选择为2048。

然后,继续并点击“Add Domain”按钮。

add-subdomain-mailgun.pngo_

您将进入域名验证步骤-“Add DNS records for sending”。

add-dns-records-for-sending-mailgun.pngo_

您需要登录域名管理网站的域名解析管理,并将特定的DNS记录添加到您的子域中。同样,不对域名验证部分展开说明。根据相关提示操作即可。

在域名解析管理按要求输入TXT和MX记录后,点击页面底部的“Verify DNS Settings”按钮。

接着您将看到一个询问您要如何发送电子邮件的界面。忽略它,转到Settings » API key页面。点击Private API key旁边的查看按钮后将其复制。

settings-api-key-page-mailgun.pngo_

接下来,将复制好的private API key粘贴到WP Mail SMTP设置中。同时输入前面设置的子域名和选择了正确的区域,最后点击“Save Settings”按钮。

enter-private-api-mailgun-wp-mail-smtp.pngo_

最后还是测试下所设置的SMTP邮局是否有效,尝试给自己发封邮件看看。

使用SendGrid提供的SMTP服务器发送邮件

SendGrid提供前30天内免费发送最多40,000封电子邮件。之后,每天最多提供100封免费电子邮件。

首先,访问SendGrid网站并单击“Start For Free”按钮来创建免费帐户。

创建帐户后,进入SendGrid仪表盘。

第一步,单击“Create a Single Sender”按钮创建发件人身份。

create-single-sender-sendgrid.pngo_

然后,输入发件人姓名、发件人邮箱地址,接受回复邮件邮箱地址,公司地址及其他地址信息,昵称等。

重要提示:From Email Address必须与WP Mail SMTP设置的“From address”的电子邮件地址相同。

create-new-sender-sendgrid.pngo_

然后,在“Senders ”表中可以看到您的详细信息。

sender-created-sendgrid.pngo_

您将收到验证电子邮件邮件,以验证此公司电子邮件地址。

verify-single-sender-sendgrid.pngo_

成功验证电子邮件地址后,点击侧边栏中的“Dashboard”链接返回到SendGrid仪表盘。

点击“ Web API and SMTP Relay”选项的“Start”按钮进入下个步骤。

start-web-api-smtp-relay-sendgrid.pngo_

在下一个界面,选择“SMTP Relay”选项。

choose-smtp-relay-sendgrid.pngo_

接下来,输入API密钥名称后点击“Create Key”按钮。

name-api-key-sendgrid.pngo_

然后将会为你生成一串API密钥。

回到WordPress仪表盘的WP Mail SMTP » Settings。选择SendGrid发信,输入刚刚生成的SendGrid API密钥,然后点击“Save Settings”按钮。

enter-sendgrid-api-wp-mail-smtp.pngo_

接下来,进一步验证集成工作是否正常。首先,转到WP Mail SMTP设置中的“Email Test”选项卡。然后,输入接收测试邮件的邮箱地址,然后单击“Send Email”按钮。

email-test-wp-mail-smtp-sendgrid.pngo_

正常情况您看到一条“测试邮件已成功发送”消息,您也可以接收邮件的电子邮件收件箱查看是否收到邮件。

测试邮件已成功发送,即返回到SendGrid API页面的选项卡。选中“I’ve updated my settings”框后,点击“Next: Verify Integration”按钮。

updated-settings-verify-integration-sendgrid.pngo_

在下一个页面上,点击“Verify Integration”按钮。您应该会看到下面这条消息。

it-worked-message-sendgrid.pngo_

接下来,还需要创建并验证子域,以帮助提高电子邮件的可传递性。

提示:如果您没有创建和验证子域,则来自您网站的电子邮件仍将发送出去。但是,有可能某些电子邮件服务商可能会直接拦截掉。

为您的网站创建一个子域,例如sg.yourdomain.com。此处略掉创建子域的说明步骤。

创建子域后,将其添加到SendGrid帐户中。转到SendGrid帐户中的“Settings » Sender Authentication”页面。在“Authenticate Your Domain”下,点击“Get Started”按钮。

settings-sender-authentication-sendgrid.pngo_

  • (1)选择DNS主机,即你的域名提供商或者域名解析管理服务商。
  • (2)“Would you also like to brand the links for this domain?”选择是。即电子邮件将显示为来自您的域,而不是来自SendGrid的域。

然后,点击Next按钮。

select-dns-host-sendgrid.pngo_

现在,在“Domain You Send From”框中输入您的网站域名。然后单击“Advanced Settings”链接,展开更多设置选项。

取消选中“Use automated security”框,选中“Use custom return path”框。然后,在“Return Path”键入子域的第一部分。例如,如果子域是sg.example.com,则键入sg

完成此操作后,点击“Next”按钮。

enter-domain-settings-sendgrid.pngo_

接着下来,将会看到一些需要添加到域中的DNS记录。(此处略过域名管理的DNS记录添加步骤。)

dns-records-sendgrid.pngo_

添加记录后,点击页面底部的“Verify”按钮。看到一条成功消息即说明成功配置。

最后,再次测试您的SMTP电子邮件,以确保正确发送了电子邮件。

测试SMTP邮局是否正常

完成上述任意一个SMTP邮局的配置后,最后一步是测试电子邮件发送,以确保一切正常。

首先,转到WP Mail SMTP设置中的“Email Test”标签。然后,输入接收测试邮件的电子邮件地址(如果它与默认电子邮件地址不同)。

点击“Send Email”按钮,即可发送测试邮件。正常情况下,会看到提示电子邮件已成功发送消息。

email-test-wp-mail-smtp.pngo_

接下来,去接收测试邮件的邮箱查看,以确保已收到测试电子邮件。

wp-mail-test-email-arrived.pngo_

其他免费SMTP邮局推荐

除了上述提到的SMTP服务商,你还可以选用其他一些免费的SMTP邮件服务商选项,但在这里不再对这些选项逐个展开说明。

  • Outlook:与其他方法相比,配置更加复杂,优点是限制不大(每分钟最多10,000个),但成功率未必有保障。
  • Amazon SES:如果技术了得可以尝试此选项,因为设置非常复杂。第一年免费。
  • SMTP.com:可靠的选项。缺点是仅30天内免费,之后必须自掏腰包。

对于上述三个选项,您可以通过在WP Mail SMTP设置页面上选择邮件程序,然后单击文档链接来获得说明。

outlook-documentation-link-wp-mail-smtp.pngo_

此外,对于国内站长,又或者说面向国内用户的网站,可以考虑使用QQ邮箱或者163邮箱的SMTP,或者可靠性更高一些。

文章网址:https://www.wpbull.com/jiqiao/8325.html