我无法使用PHP发送电子邮件。你能在我的代码中看到任何问题吗?
php.ini邮件设置:
[mail function]
SMTP = mail.ntserv.co.in
smtp_port = 26
代码:
<?php
$to = "vijay@gmail.com";
$subject = "Test mail";
$message = "hi, How r u";
$from = "vijay@ntserv.co.in";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
输出:
警告:mail()[function.mail]:SMTP服务器响应:551此邮件服务器在从本地托管域发送邮件之前需要进行身份验证。请在发送邮件之前重新配置您的邮件客户端进行身份验证。在第7行邮件已发送的C:\ xampp \ htdocs \ vijay \ demo \ msg.php中。
答案 0 :(得分:2)
邮件功能不处理身份验证,就像您必须传递用户名和密码才能实际发送电子邮件一样。 GMail要求您登录以发送电子邮件,默认设置以避免成为开放中继服务器(因此可以打开以发送垃圾邮件)。
如果你真的想使用gmail.com作为服务器,你必须使用一些PEAR或Zend Framework(或其他任何)库,它们可以在发送之前再次对邮件服务器进行身份验证,请参阅link对于夫妇例子。
更好的方法是在服务器上设置本地SMTP服务器或使用提供商SMTP服务器。