我正在一个流浪者盒子上开发一个WordPress网站,并安装了postfix以测试电子邮件通知。
在这个来宾操作系统(Ubuntu)级别,我可以结束一封测试电子邮件:
echo "Test mail from postfix" | mail -s "Test Postfix" [email protected]
这很有效,我收到了电子邮件。据我所知,postfix使用sendmail二进制文件,因此我希望WordPress能够成功发送电子邮件。
但是,未收到我的联系人表单通知。有没有办法检查/调试WordPress中发送的电子邮件,或者验证它使用的是哪种邮件功能?
UPDATE
经过一番挖掘,我发现
wp_mail()
使用PHP编译器。如果我调试
wp_mail()
函数使用此测试脚本,我看到PHPMailer正在引发异常:
无法实例化邮件功能。
// Set $to as the email you want to send the test to
$to = "[email protected]";
// No need to make changes below this line
// Email subject and body text
$subject = \'wp_mail function test\';
$message = \'This is a test of the wp_mail function: wp_mail is working\';
$headers[] = \'From: Me Myself <[email protected]>\';
// Load WP components, no themes
define(\'WP_USE_THEMES\', false);
require(\'wp/wp-load.php\');
// Call the wp_mail function, display message based on the result.
if( wp_mail( $to, $subject, $message, $headers ) ) {
// the message was sent...
echo \'The test message was sent. Check your email inbox.\';
} else {
// the message was not sent...
echo \'The message was not sent!\';
};
最合适的回答,由SO网友:Austin Curtis 整理而成
WordPress使用wp_mail() 用于发送邮件的函数。该法典的文章中写道:
要使此功能正常工作,需要在php中设置SMTP和SMTP\\U端口(默认值:25)。ini文件。
还要确保检查您的联系人表单是否正在向wp\\u mail()函数发送所需的参数。所需参数包含在上面链接的页面中。