我正在尝试为网站制作一个众所周知的联系表单,以便用户可以直接从我的网站发送电子邮件给我。
这是我到目前为止的代码
<html>
<body>
<?php
require("PHPMailer_5.2.0/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
$mail->Username = "username@example.com";
$mail->Password = "password";
//$mail->IsHTML(true); // if you are going to send HTML formatted emails
$mail->From = "vikxsrk@gmail.com";
$mail->FromName = "FROM NAME";
$mail->addAddress("vik.kalkat@gmail.com","Vik Kalkat");
$mail->Subject = "Testing PHPMailer with localhost";
$mail->Body = "Hi,<br /><br />This system is working perfectly.";
if(!$mail->Send())
echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";
?>
</body>
</html>
我得到的错误是
SMTP Error: Could not connect to SMTP host. Message was not sent
PHPMailer Error: SMTP Error: Could not connect to SMTP host.
我猜这可能是因为我的“用户名”和“密码”参数可能有误,因为我不确定要使用哪些用户名和密码。
它是我希望将电子邮件发送到的电子邮件帐户的登录信息吗?
答案 0 :(得分:1)
转到您的Google帐户,然后打开左侧的安全性选项。之后,向下滚动页面,找到选项允许不太安全的应用,然后打开该选项。
通过刷新页面重试,这次您将能够使用Gmail发送电子邮件。编码愉快。
答案 1 :(得分:0)
您应该尝试使用TLS
位于端口587上。
更改
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
到
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
另一个问题可能是你的梅勒是&#39; smtp&#39;而不是&#39; mail&#39;
答案 2 :(得分:0)
请将端口号从465更改为587。 如果您使用的是SMTP邮件程序,则将SMTPSecure从ssl更改为tls。