电子邮件没有使用mail()函数

时间:2014-04-01 08:21:03

标签: php email sendmail

我的网站上有一个表单页面,用户必须输入他的电子邮件ID。一旦他这样做,就会触发他的电子邮件。我使用了mail()函数,但电子邮件没有通过。这是在远程服务器上。我错过了什么吗?下面是我正在使用的PHP代码。

<?php
$to  = 'xyz@gmail.com';
$subject = 'Demo mail';
$message = 'This is a demo mail. Please reply to make sure the mail communication is okay.';
$headers = 'From: abc@gmail.com' . "\r\n" .
    'Reply-To: abc@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
if (mail($to, $subject, $message, $headers)) {
   echo("<p>Email successfully sent!</p>");
  } else {
   echo("<p>Email delivery failed</p>");
  }
?>

输出是电子邮件传递失败! 除了这个我应该做的是什么?提前谢谢!

2 个答案:

答案 0 :(得分:0)

mail()函数依赖于运行程序的服务器的电子邮件配置。您应该查看服务器电子邮件配置,或使用库以连接外部SMTP服务,如Gmail或您的某个电子邮件服务器。我推荐Swift电子邮件库,这是众所周知的,经过全面测试,后面有一个很棒的社区:

http://swiftmailer.org/

答案 1 :(得分:0)

检查php.ini配置文件以进行SMTP连接或添加ini_set(“SMTP”,“IP_ADDRESS”);在你的剧本中。

您还可以使用错误处理程序包装脚本以调试SMTP连接。