我在联系表单中使用了mail()函数。但电子邮件不发送。它说邮件发送成功了。但没有收到任何邮件。没有错误显示。签入垃圾邮件文件夹
$name = $_POST['cuf_sender'.$n];
$email = $_POST['cuf_email'.$n];
$subject= $this->o['subpre'].' '.$_POST['cuf_subject'.$n];
$msg = $_POST['cuf_msg'.$n];
$extra = '';
foreach ($_POST as $k => $f )
if ( strpos( $k, 'cuf_field_') !== false )
$extra .= $this->o[substr($k, 4, 7)].": $f\r\n";
$headers =
"MIME-Version: 1.0\r\n".
"Reply-To: \"$name\" <$email>\r\n".
"Content-Type: text/plain; charset=\"".get_settings('blog_charset')."\"\r\n";
if ( !empty($from) )
$headers .= "From: ".get_bloginfo('name')." - $name <$from>\r\n";
else if ( !empty($email) )
$headers .= "From: ".get_bloginfo('name')." - $name <$email>\r\n";
$fullmsg =
"Name: $name\r\n".
"Email: $email\r\n".
$extra."\r\n".
'Subject: '.$_POST['cuf_subject'.$n]."\r\n\r\n".
wordwrap($msg, 76, "\r\n")."\r\n\r\n".
'Referer: '.$_SERVER['HTTP_REFERER']."\r\n".
'Browser: '.$_SERVER['HTTP_USER_AGENT']."\r\n";
if ( wp_mail( $to, $subject, $fullmsg, $headers, $email) )
{
echo $to;
exit();
实际上这是在wordpress网站上。所以我也试过wp_mail函数。但同样的问题
答案 0 :(得分:0)
嗯,php plain mail()函数有时候不可靠。我曾经遇到过像这样的问题。这不是广告,但我建议使用PHPMailer https://github.com/PHPMailer/PHPMailer它是免费的。它解决了我的问题并希望解决你的问题。
试一试
答案 1 :(得分:0)
您首先应该为这些错误消息提供可视输出。 您可以通过多种方式启用错误报告:
我真的建议从wordpress错误开始,因为它们会更简单,更友好。
现在问题本身,首先我会查看配置文件/ admin gui,看看你的smpt设置是否正确。你也在本地测试它还是已经在某些主机上?
因此,总结一下,我们需要更多信息:
1)Wordpress版本? 2)托管在哪里? (本地/服务器)3)访问a smtp服务器? 4)你是否测试过wordpress之外的文件 安装? 5)这是一个插件吗?
第一个链接将hxxp替换为http,因为我一次只能发布2个链接。
答案 2 :(得分:0)
请设置您的SMTP凭据以使用邮件功能