php中的邮件功能不发送标题

时间:2015-06-05 06:47:13

标签: php mysqli

我带了一个共享服务器,并获得了一点存储空间。当我运行我的网站时,邮件功能完美无缺。已将邮件与主题和消息一起发送给所有接收者。但发送的邮件提到“From:”。我包含的标题不起作用。 我想发送我的标题例如:表格:mymail@mysite.com。我该怎么办?

<?php
$output="";
if(isset($_POST['submit']) && !empty($_POST['message']))
{
    $sub=$_POST['subject'];
    $msg=$_POST['message'];
    $sql = "select email from login where status='client'";
    $query = mysqli_query($con,$sql);

    $to=array();

    while($row = mysqli_fetch_array($query))
    {
        $to[] = $row['email'];
        $parts = implode(',',$to);
        $headers = 'From: mymail@mysiet.com;';
        $headers .= 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $subject = $sub;
        $content = $msg;    
    }

    if(mail($parts,$subject,$content,$headers))
    {
        $output="mail sent";
    }
    else
    {
        $output="Error in connection, Mail could not be sent. Please try again";
    }

}
?>

2 个答案:

答案 0 :(得分:0)

您需要手动指定标题,这是我使用的功能,它可以很好地传递给几乎所有提供商。你想要的标题是From:Reply-To:,我也建议X-Mailer遵循这里看到的内容,我也是在几年前通过SO发现的。

<?php
    $to      = "user@anotherdomain.com";                                
    $headers = 'From: My Name <email@domain.com.au>' . "\r\n" .
               'Reply-To: My Name <email2@domain.com.au>' . "\r\n" .
               'X-Mailer: PHP/' . phpversion() . "\r\n" .
               'Content-type: text/html; charset=iso-8859-1';
    $subject = "My subject line here";
    $message = 'Message HTML and Content Here.';

    if(mail($to, $subject, $message, $headers)){
        // Success Here
    }else{
        // Failed Here
    }
?>

我不是100%肯定它会对你有用,因为我在一台专用机器上,说过 - 我确实在多个域上使用它,并且从未与我的Apache或php配置相关的邮件设置。< / p>

阅读有关PHP中邮件功能的更多信息:http://php.net/manual/en/function.mail.php

答案 1 :(得分:0)

您可以尝试下面的代码,只是从php.net中删除

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

偏离主题但很高兴使用PHPMailer