簡體   English   中英

郵件列表地址在收件人To:字段中可見

[英]Mail list address visible in receivers To: field

我正在嘗試為我的網站設置自定義郵件列表。

當用戶(user@bar.com)將郵件發送到list@foo.com時。 郵件應自動發送給訂閱者。

實際發送並不難。 但是當電子郵件發送完畢后,我會收到“此消息可能沒有被......發送”警告。

這看起來不酷。

第一:

  1. 如何防止顯示此消息(最重要)
  2. 如何讓接收者看到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM