Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mail()函数不起作用_Php_Wordpress_Sendmail_Contact Form - Fatal编程技术网

Php mail()函数不起作用

Php mail()函数不起作用,php,wordpress,sendmail,contact-form,Php,Wordpress,Sendmail,Contact Form,我在联系人表单中使用了mail()函数。但电子邮件并没有发送出去。上面说邮件发送成功。但没有收到任何邮件。没有错误显示。也签入垃圾邮件文件夹 $name = $_POST['cuf_sender'.$n]; $email = $_POST['cuf_email'.$n]; $subject= $this->o['subpre'].' '.$_POST['cuf_subject'.$n]; $msg = $_POST['cuf_msg'.$n];

我在联系人表单中使用了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();
$name=$\u POST['cuf\u sender.$n];
$email=$\u POST['cuf\u email.$n];
$subject=$this->o['subpre'].'.$\u POST['cuf\u subject'.$n];
$msg=$\u POST['cuf\u msg.$n];
$extra='';
foreach($\发布为$k=>$f)
if(strpos($k,'cuf_字段)!==false)
$extra.=$this->o[substr($k,4,7)]。“:$f\r\n”;
$headers=
“MIME版本:1.0\r\n”。
“回复:\”$name\“\r\n”。
“内容类型:text/plain;字符集=\”“。获取设置('blog\u字符集')。”\“\r\n”;
如果(!空($from))
$headers.=“From:”.get_bloginfo('name')。“-$name\r\n”;
如果(!空($email))
$headers.=“From:”.get_bloginfo('name')。“-$name\r\n”;
$fullmsg=
“名称:$Name\r\n”。
“电子邮件:$Email\r\n”。
$extra。“\r\n”。
“主题:”.$\u POST['cuf\u Subject.$n]。“\r\n\r\n”。
wordwrap($msg,76,“\r\n”)。“\r\n\r\n”。
“Referer:”.$\u服务器['HTTP\u Referer']。“\r\n”。
'浏览器:'.$'服务器['HTTP\U用户\U代理'].“\r\n”;
if(wp_邮件($to、$subject、$fullmsg、$headers、$email))
{
echo$to;
退出();
事实上,这是wordpress网站上的。所以我也尝试了wp_mail函数。但同样的问题是,php plain mail()函数有时不可靠。我曾经遇到过这样的问题。这不是广告,但我建议使用PHPMailer它是免费的。它解决了我的问题,并希望解决你的问题


试一试

你应该先给那些错误信息一个视觉输出。 您可以通过多种方式打开错误报告:

  • 阿帕奇 (hxxp://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging)
  • 我真的建议从wordpress错误开始,因为它们会更直接、更友好

    现在,关于这个问题本身,首先我会查看配置文件/admin gui,看看您的smpt设置是否正确。您是否在本地测试它,或者它已经在某个主机上运行了

    因此,让我们总结一下,我们需要更多的信息:

    1) Wordpress版本?2)托管在何处?(本地/服务器)3)访问 smtp服务器?4)您是否测试了wordpress之外的文件 安装?5)这是不是一个插件


    第一个链接将hxxp替换为http,因为我一次只能发布2个链接。

    请设置您使用邮件功能的SMTP凭据。

    错误消息是什么?没有错误消息。唯一的成功消息是获取您是否在live server中工作?是的。我尝试了另一个插件,它正在工作。但是在这种方法中不工作。我可以知道您的哪个联系人吗rm插件给了这个问题吗?