PHPMailer的用户名和密码字段是什么?

时间:2015-06-17 18:55:39

标签: php smtp phpmailer web-development-server

我正在尝试为网站制作一个众所周知的联系表单,以便用户可以直接从我的网站发送电子邮件给我。

这是我到目前为止的代码

<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.

我猜这可能是因为我的“用户名”和“密码”参数可能有误,因为我不确定要使用哪些用户名和密码。
它是我希望将电子邮件发送到的电子邮件帐户的登录信息吗?

3 个答案:

答案 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。