我在我们的 Wordpress 网站上遇到了一个奇怪的问题,该网站目前正在我们主域的子域上开发。
它是一个基本的 Wordpress,带有 Woocommerce 和其他几个支付插件,没什么太花哨的。我配置了 Woocommerce,订购了一些产品,一切正常。我收到了来自我提供的管理员电子邮件的确认邮件。假设no-reply@example.com
即使网站托管在new.example.com
.
现在其中一位管理员忘记了他的密码,所以他要求一个新的,但没有发送电子邮件。我做了一些调试,但我自己也没有收到,即使我仍然收到 Woocommerce 电子邮件。
所以我用谷歌搜索并找到了Check Email
插件。默认情况下,它想使用我自己的个人@gmail
作为From
标题,所以我测试了那个,但也使用了自定义的From: no-reply@example.com
. 我没有收到从我的 Gmail 发送的邮件(显然),但我确实收到了无回复版本。所以我确信这wp_mail()
是有效的。
这让我想到桌子上是否有旧的设置wp_options
,或者任何其他桌子。因此,我在所有列上搜索了所有的no-reply@example.com
and mypersonal@gmail.com
,每一行。我还对目录中的所有文件进行了搜索,wordpress/
以查看是否有任何硬编码(使用grep -rnw 'wordpress/' -e 'tried a couple varieties'
)。我这样做是因为 wordpress 在设置页面上说了以下内容:
Dit adres wordt gebruikt voor administratieve doeleinden。Als je het wijzigt, sturen wij een 电子邮件 naar je nieuwe adres om het te bevestigen。Het nieuwe adres zal niet actief worden voordat het is bevestigd。
粗略翻译:此电子邮件地址将用于管理目的,如果您进行编辑,将发送一封验证电子邮件。在验证之前它不会激活。
当我第一次添加此电子邮件地址时,它甚至还不存在,现在邮箱存在,但我没有收到新的验证电子邮件,将其更改为同一域上的另一封电子邮件,到我的 gmail,什么都没有。
所以我需要你的帮助......我还能尝试解决这个问题吗?
我尝试过的总结
- WooCommerce 工作得很好
Check Email
只要我使用来自的任何电子邮件,插件就可以正常工作@example.com
- 检查整个数据库的旧电子邮件设置,这些设置可能会覆盖任何内容
- 检查 wordpress 目录中的每个文件是否存在错误的硬编码电子邮件
系统
我在带有 PHP7.4 的 Debian 10 Buster VPS 上安装了 Wordpress