我在使用xampp的localhost上运行php5.6,我试图使用phpmailer发送消息,但它给了我这个错误:SMTP connect()失败了。 这是我的代码:
Stream<String> stream = ...
final DistinctCounter c = new DistinctCounter();
int count = stream.reduce(0, c::count, Integer::add);
我知道有几十个问题有相同的标题,但相信我没有一个对我有用。请帮助,我一整天都试图解决这个问题!
答案 0 :(得分:0)
好的......所以我对php.ini,我的gmail帐户和我的PHP脚本进行了一些更改......然后一切正常......所以这就是我改变了:
这是我修改过的php脚本
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = gethostbyname('ssl://smtp.gmail.com');
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = "username@gmail.com";
$mail->Password = "***********";
$mail->setFrom('username@gmail.com', 'First Last');
$mail->addAddress('username@yahoo.com', 'First Last');
$mail->Subject = 'PHPMailer SMTP test';
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
答案 1 :(得分:0)
检查您的防病毒应用程序,在我的情况下为“ Avast Anti Virus”将其阻止。然后当我禁用它时,错误消失了。
答案 2 :(得分:-1)
您是否已进入GMail帐户并启用此功能以允许不太安全的应用访问它?如果没有,请查看:
https://support.google.com/accounts/answer/6010255?hl=en
或者,尝试将此作为您的SMTP:
SSL://smtp.googlemail.com
我发现上述内容最有用。
您也可以尝试包含该文件而不是需要它,因此请尝试更改,
require("Photo Gallery/includes/PHPMailer/PHPMailerAutoload.php");
include 'Photo Gallery/includes/PHPMailer/PHPMailerAutoload.php';
这可能有用。如果上述内容无效,请尝试将整个库移动到项目的根文件夹中。可能是您网址中导致问题的空间。