關於 PHP, Linux, Open Source 及個人生活記載的網誌。
RSS icon
  • 設定 PHP mail 的 Return Path

    Posted on February 2nd, 2007 Sam Tang 2 comments

    在 PHP 內用 mail() 發出郵件時,如果沒有指定 Return Path,系統便會以預設的電郵地址代替 (例如 me@localhost 這類)。以下是一個常見的錯誤:

    PHP:
    1. <?php
    2. $header = "From:My Name<my_name@mydomain.com>";
    3. mail($to, $subject, $email_body, $header);
    4. ?>

    以上設定了所發出的郵件的 From 內容,但這是不夠的,只要查看所發出郵件的 header,會發現有一個 Return-Path 顯示系統的預設電郵。因為現時 spam 非常猖獗,很多 email server 會這類 email 檔掉或者標示成 spam,將以上程式碼改成這檔便可以避免這個問題:

    PHP:
    1. <?php
    2. $header = "From:My Name<my_name@mydomain.com>\r\n";
    3. $header .= "Reply-To: My Name<my_name@mydomain.com>\r\n";
    4. $header .= "Return-Path: My Name<my_name@mydomain.com>\r\n";
    5. mail($to, $subject, $email_body, $header);
    6. ?>


     

    2 responses to “設定 PHP mail 的 Return Path”

    1. [...] 設定 PHP mail 的 Return Path – Real-Blog (tags: Tech WebDev PHP Mail Tips) [...]

    2. 谢谢分享。

    Leave a reply

    *
    To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
    Click to hear an audio file of the anti-spam word