【发布时间】:2020-08-10 09:07:22
【问题描述】:
我使用此解决方案通过自定义字段向其他收件人发送电子邮件
Add recipients from product custom fields to Woocommerce new order email notification
但是我没有收到任何电子邮件。 我打开了调试、调试日志和调试显示,但它没有显示任何错误。
我认为这可能是我用来发送订单电子邮件的邮件服务中的错误(我使用 Mail.ru SMTP)。 但是它可以在没有代码的情况下工作。
问题是如何发现问题?
UPD:
我在return $recipient; 之前添加到var_dump($recipient); die; 并在error_log 中收到错误:
string(45) "order@domain.name, email@domain.name, email2@domain.name"
UPD2: 我在插件设置中打开了电子邮件登录,并收到了以下技术细节:
Date: Mon, 27 Apr 2020 09:56:35 +0000
To: order@domain.name, email@domain.name, email2@domain.name
From: Hello Hello <hello@domain.name>
Reply-To: A A <customer@domain.name>
Subject: [Domain.name]: New order #1234
Message-ID: <c2654ca64fd38e5061f7357d04b1XXXX@domain.name>
X-Mailer: WPMailSMTP/Mailer/smtp 1.9.0
MIME-Version: 1.0
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
很遗憾,我没有收到任何电子邮件中的任何消息。
UPD3: 我安装了电子邮件日志插件来监控电子邮件状态,它在电子邮件中显示错误,应该发送到 order@domain.name、email@domain.name、email2@domain.name
【问题讨论】:
-
与其不喜欢,如果你能帮忙会很有帮助!
-
您是否回显或记录了
$recipient的值,以确认它已按照您认为的方式填充? -
最直接的方法是将
vardump($recipient); die;添加为您的退货声明上方的新行。这将呈现带有类型信息的接收者变量,然后终止脚本。 -
这是
var_dump,而不是vardump。 -
你试过像email-log这样的插件吗?通过这种方式,您可以确定邮件是否是从 wordpress 发送的,因此问题出在其他地方(电子邮件垃圾邮件过滤器等)
标签: php wordpress email woocommerce advanced-custom-fields