未使用PHP接收电子邮件
我想使用php代码发送一个构造电子邮件。我尝试过所有解决方案,如mail()
和phpmailer,但没有任何工作。这里是我的代码mail()
未使用PHP接收电子邮件
ini_set(sendmail_from, "[email protected]");
ini_set(SMTP, "aspmx2.googlemail.com");
ini_set(smtp_port, 25);
$username = "xyz";
$password = "password";
$to=$email;
$subject="Activate you account";
$message="
Hello $fullname, \n \n
";
$headers="From: [email protected] domainname.net";
mail($to, $subject, $message, $headers);
die ("You have been registerd. Check you email to activate your account!");
我在页面上获得“You have been registered. Check you email to activate your account”
消息,但我没有收到邮件。
我尝试没有ini_set()
但它仍然无法正常工作。我也在php.ini文件中设置了SMTP和端口,但它仍然不起作用。
请帮忙!! 感谢
把点这里:
你打电话mail
不检查返回代码 - 这意味着你知道你试图发送消息,但你不知道它是否成功。这对调试没有帮助。
其次,Gmail需要加密连接才能允许您进行身份验证。而标准的SMTP连接没有加密。
尝试使用PHPmailer发送电子邮件 我听说过很多很棒的事情。 PHPMailer的配置的
样品
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "password"; // SMTP password
我用phpmailer发送电子邮件。如果我使用$ host =“ssl://smtp.gmail.com”;和$ port = 465;然后我成功地收到电子邮件但如果我使用相同的脚本$ host =“aspmx2.googlemail.com”;和$ port =“25”;然后得到错误,“SMTP错误:无法连接到SMTP主机。邮件错误:SMTP错误:无法连接到SMTP主机。”任何建议?请帮忙 – user695575 2011-04-08 00:16:55
第一种方法是发送电子邮件的正确方式,那就是你应该怎么做! – Aviatrix 2011-04-09 16:23:37
你不实际设置的mail()
呼叫的用户名/密码。你所做的只是设置一些变量,然后不以任何方式为邮件使用这些变量。因此,您尝试通过Google发送邮件失败,因为您没有进行身份验证。
但正如其他答案所说,不要使用内置的mail()
函数。改为使用PHPMailer或Swiftmailer。它们更容易使用,处理所有做文件附件和多部分MIME邮件的丑陋的东西,并且在一个不错的OOP接口后面完成。
用于swiftmailer的+1 – Tony 2011-04-07 19:28:23
欢迎来到俱乐部。用PHP发送电子邮件非常困难。我还没有成功。 – systemovich 2011-04-07 19:17:31
[Gmail的SMTP服务器](http://mail.google.com/support/bin/answer.py?answer=13287)受SSL/TLS保护,并要求进行身份验证,这是PHP的'mail()'无法执行的操作。 – Charles 2011-04-07 19:22:45
网络上的许多免费托管服务不允许您使用其他SMTP服务器发送电子邮件。如果您使用自己的PC,请确保PHP可以访问网络。检查Apache设置等。 – Hossein 2011-04-07 19:25:07