我在php中有邮件功能,如下所示:
<?php
$admin_email = "admin@gmail.com";
$email ="myemail@gmail.com";
$subject = "hellow ord";
$comment = "cmt";
try{
$th=mail($admin_email, $subject, $comment, "From:" . $email);
if($th)
echo "gg";
else
echo "error_message";
}
catch(Exception $e)
{
echo $e->message();
}
?>
我有Wamp服务器来运行它。我通过查看Stack Overflow上的帖子来配置hMailServer,但是当我运行上面的代码时,我得到:
Warning: mail(): SMTP server response: 530 SMTP authentication is required...
在使用邮件功能之前是否需要设置任何内容?
答案 0 :(得分:0)
PHP mail()函数不支持smtp身份验证,这通常会在连接到您尝试连接的公共服务器时导致错误。安装hmailserver后,您仍然需要使用像PHPMailer这样可以验证的库。
按照此处的步骤使用gmail设置phpmailer: http://blog.techwheels.net/tag/wamp-server-and-phpmailer-and-gmail/
我已经使用gmail成功发送了电子邮件(wamp / hmailserver / phpmailer)。
<?php
require_once ("class.phpmailer.php");
$sendphpmail = new PHPMailer();
$sendphpmail->IsSMTP();
$sendphpmail->SMTPAuth = true;
$sendphpmail->SMTPSecure = "ssl";
$sendphpmail->Host = "smtp.gmail.com";
$sendphpmail->Port = 465;
$sendphpmail->Username = "your@gmail.com";
$sendphpmail->Password = "gmail_password";
$sendphpmail->SetFrom('your@gmail.com','blahblah');
$sendphpmail->FromName = "From";
$sendphpmail->AddAddress("recipient@gmail.com"); //don't send to yourself.
$sendphpmail->Subject = "Hello!";
$sendphpmail->Body = "<H3>Check out www.google.com</H3>";
$sendphpmail->IsHTML (true);
if (!$sendphpmail->Send())
{
echo "Error: $sendphpmail->ErrorInfo";
}
else
{
echo "Message Sent!";
}
?>
希望这对其他人也有帮助。在面对这个问题时,我花了几个小时的谷歌搜索和编译答案。