[英]PHP mail() BCC - display only the end receivers address in To: header
[英]Mail list address visible in receivers To: field
我正在嘗試為我的網站設置自定義郵件列表。
當用戶(user@bar.com)將郵件發送到list@foo.com時。 郵件應自動發送給訂閱者。
實際發送並不難。 但是當電子郵件發送完畢后,我會收到“此消息可能沒有被......發送”警告。
這看起來不酷。
第一:
注意:接收方仍應能夠在from字段中查看實際發送方。
我已經閱讀了關於該主題的其他一些帖子,提到了不同標題的所有類型。 但我似乎無法讓它發揮作用。
我正在使用PHPmailer,並且是我的代碼的一部分:
<?php
include(class.phpmailer.php);
$real_to = "user@bar.com";
$mail = new PHPMailer();
$mail->IsMail();
$mail->AddReplyTo($_POST['from_mail'], $_POST['from_name']);
$mail->Host = "mail.foo.com";
$mail->From = $_POST['from_mail'];
$mail->Sender = "list@foo.com";
$mail->MessageID = $_POST['msgID'];
$mail->FromName = $_POST['from_name'];
$mail->AddAddress($listmail);
$mail->Subject = $_POST['subject'];
$mail->ContentType = $_POST['content_type'];
$mail->addCustomHeader("X-BeenThere: " . $listmail);
$mail->addCustomHeader("Precedence: list");
$mail->addCustomHeader("Precedence: list");
$mail->addCustomHeader("Envelope-To: " . "list@foo.com");
//$mail->addCustomHeader("Received: " . $_POST['received']);
$mail->Body = $_POST['body'];
$mail->Send();
?>
我不太確定php代碼中需要什么,但這里有一些常規的郵件服務器提示。 您的某些問題可能存在於標頭信息或郵件服務器的配置中。
當我使用本地郵件服務器向郵件列表發送郵件時,我發現人們沒有在某些域上收到郵件。 當我查看郵件服務器日志( hMailServer )時,我看到收件人的服務器拒絕了這些郵件。
結果問題是我的域名在ISP的域名設置中缺少反向ip查找注冊 。
我相信這也可能是一些郵件收件人的來源,使您的郵件被標記為垃圾郵件通知和警告(視情況而定)。
另一個要考慮的問題是,您的標頭中指定了一個返回路徑地址 - 這與回復地址不同 - 它是郵件服務器在相互通信時使用的設置。 查看這個小故障排除指南 。
我最終制作了一個更新郵件列表的cronjob,將所有收件人添加為別名。 這解決了關於不是來自發送者的按摩的所有奇怪信息。 我不知道這是不是一個好方法。 但它的確有效。
我還添加了一個PTR記錄。 已安裝DKIM支持並設置SPF記錄。 這解決了所有垃圾郵件標記
現在問題解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.