2015-06-05 14 views
0

我帶了一個共享服務器,並獲得了一點存儲空間。當我運行我的網站時,郵件功能完美地工作。郵件已經與主題和消息一起發送給所有接收者。但發送的郵件提到「From:」。我包括的標題不起作用。 我想用我的標題發送例如:Form:[email protected]。我該怎麼做?郵件功能在PHP不發送標題

<?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: [email protected];'; 
     $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"; 
    } 

} 
?> 

回答

0

您需要手動指定標題,這是我使用的功能,它可以很好地傳遞給幾乎所有提供者。你想要的標題是From:Reply-To:,我也建議X-Mailer遵循這裏看到的,我幾年前通過SO發現它。

<?php 
    $to  = "[email protected]";         
    $headers = 'From: My Name <[email protected]>' . "\r\n" . 
       'Reply-To: My Name <[email protected]>' . "\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配置相對於從來沒有搞砸到郵件設置。

瞭解更多關於PHP的郵件功能:http://php.net/manual/en/function.mail.php

+0

非常感謝你,它的工作.....你可以給我發送如何添加密件抄送? – user2814620

+0

BCC只是頭文件變量中的另一行,除了代替「From:」,您將把「Bcc:' - 這是我的理解,這些是CASE敏感的。 CC是一樣的''抄送:''(我已經更新了我的答案,包括一個PHP文檔的鏈接。「 – Tarquin

+0

謝謝你,我明白了 – user2814620