WooCommerce商城系统作为当前最热门建站系统 – WordPress的电子商城扩展功能,是外贸商城建站首选。
在运营WooCommerce在线商城网站时,为我们的商城消费用户提供及时的订单邮件通知功能是决定商城网站服务质量的重要因素。WooCommerce不仅简化了邮件发送过程,还帮助我们实现订单邮件通知的自动化推送。如果您的客户没有收到他们的订单电子邮件或密码重置电子邮件,这会很大程度上影响用户的再次消费。
如果您遇到WooCommerce商城客户无法收到订单邮件的问题,那么,本文就非常值得您详细阅读了。在本文中,WPPOP 将详细介绍WooCommerce商城系统的订单邮件无法正常发送通知的最常见原因,以及如何修复订单邮件通知功能使它们可以正常发送。
WooCommerce如何发送电子邮件?
在解决问题之前,我们需要了解WooCommerce如何发送电子邮件?
默认情况下,WooCommerce商城插件使用WordPress中内置的邮件函数 wp_mail()
功能,该函数是WordPress建站程序的主要功能的一部分。但是,许多电子邮件服务器并不信任通过这种方式发送的电子邮件,因为它们未经身份验证。这是导致WooCommerce电子邮件丢失或归档到垃圾文件夹的主要原因。
为了用简单的术语描述电子邮件发送过程,WooCommerce 使用 WordPress 中内置的邮件函数 wp_mail()
发送电子邮件。然后,您的网站托管服务提供商的服务器会收到此电子邮件请求,并使用PHP电子邮件处理该请求。最后,您的主机的电子邮件路由器会将电子邮件推送到其正确的收件人。
当然,此过程要复杂得多,我们甚至还没有开始讨论您的托管人的电子邮件提供商是否要过滤您的电子邮件。但这是它的基本要点。
此外,WooCommerce还基于商城功能,会发送各种电子邮件,大致涉及以下11种不同的交易电子邮件:
- 新订单 – 在收到新订单时发送给客户。
- 取消订单 – 订单取消后发送给客户。
- 订单失败 – 订单失败时发送给客户。
- 订单暂缓 – 订单暂缓后发送给客户,其中包含订单详细信息。
- 处理订单 – 付款后发送给客户,其中包含订单详细信息。
- 已完成的订单 – 当订单标记为已完成时发送给客户,通常表示订单已发货。
- 退款订单 – 退款给客户时发送给客户。
- 客户发票/订单明细 – 发送给顾客的包含订单信息和支付链接的电子账单邮件。
- 客户须知 – 从编辑订单管理员添加客户须知时发送给客户。
- 重设密码 – 客户重设密码时发送。
- 新帐户 – 客户创建新帐户时发送。
为什么WooCommerce不能发送邮件?
一般WooCommerce不能发送电子邮件的原因主要有:
- 网站主机不支持邮件收发功能;
- 空间商不允许使用WordPress内置的邮件函数
wp_mail()
收发邮件; - WooCommerce 设置问题;
1. 网站主机不支持邮件收发功能
检查网站主机环境是否支持邮件收发功能,最简单的方法就是通过发送用户找回密码功能来判断。
在 WordPress 网站后台管理的登录界面有找回密码的功能( https://www.domain.com/wp-login.php?action=lostpassword
),访问该页面,在找回密码表单中输入你的管理员用户名或电子邮箱,如下图所示:
点击 获取新密码 按钮,如果主机支持邮件发送功能,则会看到如下图所示邮件发送成功的提示信息:
如果主机不支持邮件发送功能,则会出现邮件发送失败的错误提示,
错误:邮件未能发送。您的主机可能未获正确配置。
如下图所示:
2. 空间商不允许使用WordPress内置的邮件函数 wp_mail()
收发邮件
文章开头我们提到过,默认情况下,WooCommerce商城插件使用WordPress中内置的邮件函数 wp_mail()
功能。但是,许多电子邮件服务器并不信任通过这种方式发送的电子邮件,因为它们未经身份验证。这是导致WooCommerce电子邮件丢失或归档到垃圾文件夹的主要原因。
3. WooCommerce 设置问题导致订单邮件无法发送
如果以上原因都排除,那最可能导致你的用户不能收到你的电子邮件的主要原因之一可能是未正确设置WooCommerce电子邮件设置。所以,我们需要检查一下WooCommerce的电子邮件设置功能。
在网站后台依次找到 WooCommerce – 设置 – 电子邮件 模块,由WooCommerce发出的邮件通知都罗列在这里,可点击进行配置。如下图所示:
我们以配置 新订单 邮件功能为例,点击 新订单 右侧的 管理 按钮,进入到 新订单 邮件功能配置页面,如下图所示:
检查上图中的 启用/禁用 设置项,是否启用这个电邮通知。如果这里没有勾选启用,当WooCommerce有新订单时,也是不能正确发送新订单邮件的。其他WooCommerce相关的邮件配置也是同样的方法去检查。
解决WooCommerce不能发送邮件的方法
SMTP是发送电子邮件的行业标准。使用SMTP可以通过使用适当的认证方法来提高电子邮件的可传递性,从而满足电子邮件服务提供商的要求。使用SMTP,您可以绕过web主机,因为 wp_mail()
函数将电子邮件从PHP重新路由到SMTP提供商。从那里,SMTP提供程序接收请求并将您的电子邮件添加到要发送的队列中。
我们强烈建议你为WooCommerce网站设置一个SMTP插件和服务,以提高你的电子邮件的可交付性。SMTP是WooCommerce,乃至WordPress网站邮件收发功能的最佳替代品。
通过使用WordPress SMTP插件,来解决修复WooCommerce不发送电子邮件的问题。实现可参考我们 “WordPress网站邮件收发插件 – Easy WP SMTP ” 一文。具体使用方法如下:
Easy WP SMTP 插件允许您通过使用SMTP服务器配置和发送电子邮件。这样可以防止您的电子邮件进入收件人的垃圾邮件/垃圾邮件文件夹。
SMTP插件配置
安装启用 Easy WP SMTP 插件后,在后台的【 设置 】中找到 【 Easy WP SMTP 】设置页面,如下图所示:
- SMTP Settings:配置SMTP邮件服务器内容;
- Additional Settings:额外设置,一般用不到,默认状态即可;
- Test Email:配置好SMTP邮件服务器后,在该页测试邮件是否可以正常发送;
下面分别来介绍一下上图中各设置项:
- From Email Address:填写发件人的电子邮箱地址;
- From Name:填写发件人的名称;勾选“强制使用这个发件人名称”项后,插件将为每封电子邮件的发件人强制替换为这个“名称”。如果您使用类似Contact Form 7 这样的联系表单插件,则禁用它,它会阻止插件在发送联系电子邮件时替换表单提交者的名称。
- Reply-To Email Address:填写回复邮箱地址(用于接收用户的回复邮件),不设置的话则默认为From Email Address项的发件人的电子邮箱地址;
- SMTP Host:设置你的SMTP服务器地址(比如:QQ邮箱是smtp.qq.com,163邮箱是smtp.163.com)其他的可以咨询邮箱服务商获取;
- Type of Encription:加密方式(类型),一般默认为None;
- SMTP Port:SMTP服务器端口,一般默认是25
- SMTP Authentication:始终勾选“Yes”项就对了;
- SMTP Username:登录SMTP服务器的用户名(一般为邮箱账号);
- SMTP Password:SMTP授权码(不是邮箱的登录密码);保存设置后,SMTP授权码的实际密码将存储在数据库中用于发送电子邮件。该字段显示为*****,不会直接显示。这样做是为了防止有权访问“设置”页面的人看到您的密码(例如,使用密码字段取消屏蔽程序)。
以QQ邮箱为例,我们讲解一下如何获取SMTP授权码(不是邮箱的登录密码):
- 登录你的QQ邮箱,在 设置 页面的 帐户 中找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 项,如下图所示:
默认状态下,POP3/SMTP服务是关闭的,我们需要先开启该服务。
2. 开启POP3/SMTP服务后,看到下面的温馨提示:
在第三方登录QQ邮箱,可能存在邮件泄露风险,甚至危害Apple ID安全,建议使用QQ邮箱手机版登录。
继续获取授权码登录第三方客户端邮箱 。 生成授权码
点击生成授权码获取SMTP Password(SMTP授权码),填写到对应的设置项即可。
测试邮件发送功能
以上SMTP设置好后,切换到 测试电子邮箱 窗口,填写好邮件的收件人邮箱、邮件主题、邮件正文后,点击 Send Test Email 按钮,如果邮件发送成功,则会出现提示信息:
Test email was successfully sent. No errors occurred during the process. (测试电子邮件已成功发送。在此过程中没有发生错误。 )
其他邮箱服务器设置方法一样,只要更换 SMTP Host、SMTP Port ,然后填写好正确的 SMTP Username 和 SMTP Password 即可。
测试成功后,WooCommerce商城里的所有订单邮件通知发送也就可以正常使用了。
总结
以上就是我们关于如何解决修复WooCommerce不发送订单邮件通知问题的全部内容。为了确保你的WooCommerce电子邮件通知功能尽可能高质量地准确执行,找到并修复任何可能的导致WooCommerce不发送订单邮件通知的原因,以确保你的WooCommerce电子邮件管理和可读性尽可能好。
总而言之,使用SMTP插件来解决WooCommerce不发送订单邮件通知问题是一个最快捷方便的方法了。