在 PHP 内用 mail() 发出邮件时,如果没有指定 Return Path,系统便会以预设的电邮地址代替 (例如 admin@localhost 这类)。以下是一个常见的错误:
PHP代码
- <?php
- $header= "From:My Name<my_name@mydomain.com>";
- $header.= "Reply-To: My Name<my_name@mydomain.com>";
- $header.= "Return-Path: My Name<my_name@mydomain.com>";
- mail($to, $subject, $email_body, $header);
- ?>
以上设定了所发出的邮件的 From 内容,但这是不够的,只要查看所发出邮件的 header,会发现有一个 Return-Path 显示系统的预设电邮。因为现时 spam 非常猖獗,很多 email server 会这类 email 档掉或者标示成 spam,将以上程序码改成这档便可以避免这个问题:
PHP代码
- <?php
- $header= "From:My Name<my_name@mydomain.com>";
- mail($to, $subject, $email_body, $header);
- ?>


