对于给定的webmail地址,简单的php邮件功能不成功

时间:2012-10-20 13:38:33

标签: php email

我在客户网站的根目录中有一个简单的PHP脚本:

<?php  
      $to = "info@xxxxxxxxxx.it"; 
      $header = "From: {$to}";
      $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; 
      if (mail($to, $subject, $body, $header)) 
      { 
          echo("<p>ok</p>"); 
      } 
      else { 
          echo ("<p>no invio</p>"); 
      } 
      echo '<br/>'; 
?>

事实是,当我测试自己的电子邮件地址(例如GMail)时,如果我使用客户端的Webmail进行测试,它就会失效。

3 个答案:

答案 0 :(得分:0)

@user如果你发送到gmail,yahoo等,你必须添加“回复:”。

答案 1 :(得分:0)

你的内部有$to

 $to = "info@xxxxxxxxxx.it"; 
 $header = "From: {$to}";

我想,这就是为什么只有你接受它。

您以同样的方式定义$from,然后更改标题。

 $header = "From: {$from}";

http://us2.php.net/manual/en/function.mail.php

上有足够的示例

答案 2 :(得分:0)

基本上就是这部分:

$header = "From: {$to}";

现在设置From:标题是不好的做法,除非该域名由您自己拥有,因为大多数邮件系统都会拒绝不是从合法服务器发送的电子邮件。

最好不要单独使用From:并改为使用Reply-To:

例如,如果您向邮件标题添加"From: xxx@gmail.com",Google的服务器将检查您的服务器是否有权代表Gmail用户发送电子邮件。他们通过查看该电子邮件域的SPF记录来完成此操作。