当发件人地址是雅虎时,php邮件功能不发送电子邮件

时间:2014-11-11 21:42:03

标签: php email sendmail yahoo

不确定是否有其他人经历过这个,但我有一个发送电子邮件的简单表格。

 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

      <input type="text" name="phone" id="phone" value="<?php echo $phone; ?>" />
      <textarea name="message" rows="20" cols="20" id="message"></textarea>
     <input type="submit" name="submit" value="Submit" class="submit-button" />
 </form>

提交时我有以下内容:

 if ($_POST) {
     $email_to = "myemail@yahoo.com";
     $subject = "Contact Form"; 
     $message = "Phone: {$phone}\r\nMessage: {$msg}";
     $headers = "From: sendingemail@yahoo.com" . "\r\n";
     mail($email_to,$subject,$message, $headers);

 }

当提交表单时,mail函数返回true但没有发送电子邮件但是当我将FROM电子邮件更改为yahoo以外的任何其他内容时,例如something@gmail.com,电子邮件将通过。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

雅虎将您的邮件标记为垃圾邮件,可能只是忽略了它。 对于hotmail也可能是这样。

最好的事情是发现自己是一个很好的SMTP邮件插件/模块(例如phpMailer)并使用合法邮件帐户的凭据。这样,您就可以通过专用邮件服务器发送邮件,并且您将不再将更改标记为垃圾邮件。

请注意,当您发送大量(类似)邮件或您的脚本被黑客入侵并用于垃圾邮件时,更改是您的合法邮件服务器被列入黑名单或(如果您幸运的话)阻止您的帐户不安全。< / p>