我必须通过Gmail发送邮件,但我不知道如何配置phpmailer
。
当我使用phpmailer
时,它会给我一个未经过身份验证但电子邮件和密码为真的错误。
以下是代码:
require '../class.phpmailer.php';
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$body = file_get_contents('contents.html');
$body = preg_replace('/\\\\/','', $body); //Strip backslashes
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->Username = "yuliy.x.95@gmail.com"; // SMTP server username
$mail->Password = "mypassword"; // SMTP server password
$mail->IsSendmail(); // tell the class to use Sendmail
$mail->AddReplyTo("k.yuliy@yahoo.it","First Last");
$mail->From = "name@domain.com";
$mail->FromName = "First Last";
$to = "k.yuliy@yahoo.it";
$mail->AddAddress($to);
$mail->Subject = "First PHPMailer Message";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap
$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
?>
我收到此错误:
无法执行:/ var / qmail / bin / sendmail
答案 0 :(得分:0)
除了可能没有正确调用sendmail这一事实外,您还在尝试连接到端口25.您无法做到这一点。 smtp.gmail.com 需要 SSL - 它不是可选的。
答案 1 :(得分:0)
使用命令$mail->isSMTP()
,您选择SMTP作为传输。
但在发送邮件之前,您将切换回使用$mail->isSendmail()
的本地sendmail安装。
不要这样做,你当前的错误就会消失。可能会出现一个新的。
答案 2 :(得分:0)
您需要将端口465用于Gmail
$mail->Port = 465;