Mail function is not working

时间:2014-04-11 作者:Joel James

我的邮件功能不工作。当我提交表格时,上面写着邮件已发送。但不接收。我试着回显邮件是否已发送。它也在发挥作用。这里的问题是什么?有邮件功能吗?

<?php
$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();

2 个回复
SO网友:Rajeev Vyas

你通过了$email 应该有附件的地方。看看wp_mail 参数。

您还没有定义$to 在你的情况下,我假设应该是$email.

试试这个,

$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( $email, $subject, $fullmsg, $headers) )
    {
        echo $to;
    exit();

SO网友:Rick Hellewell

除了其他建议外,请确保“发件人”电子邮件地址是属于您网站域的电子邮件地址,并且该地址存在。

某些主机不会发送示例中的邮件。“发件人”地址为时的com域[email protected]他们会感觉到作为“邮件中继”,这是垃圾邮件发送者会尝试的,所以会阻止邮件。

请注意,mail()函数的返回值只是一个标志,表示消息已成功/未成功发送到邮件服务器。这并不是说邮件实际上已经发送了。

结束

相关推荐

WordPress Contact Form 7显示表单下拉菜单,如下所示

我正在使用contact-form-7 网站中我的一个表单的插件。我有一些下拉选项。该选项主要由一些附带名称的课程组成。喜欢course 1, course 2, course 3, course 4....so on. 但我希望我的课程领域应该是这样的Course A: course 1 course 2 course 3 course 4 Course B: course 1 course 2 course 3 Cours