【发布时间】:2022-02-03 12:38:12
【问题描述】:
我正在尝试使用 PHPMailer 从我的 gmail 帐户发送一封电子邮件。但是在我的本地主机上运行 php-script 时,我收到以下错误:
SERVER -> CLIENT: 530 5.7.0 必须先发出 STARTTLS 命令。 m12sm23971137wrp.61 - gsmtp.
这是我的代码:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPAuth = false;
$mail->SMTPAutoTLS = false;
$mail->SMTPSecure = false;
$mail->SMTPDebug = SMTP::DEBUG_CONNECTION;
$mail->Debugoutput = "html";
$mail->Host = gethostbyname('smtp.gmail.com');
$mail->Port = '587';
$mail->isHTML();
$mail->Username='myemail@gmail.com';
$mail->Passwort='gmail app-password';
$mail->SetFrom('myemail@gmail.com');
$mail->Subject = 'Hello';
$mail->Body='Test';
$mail->addAddress('otheremail@gmail.com');
if($mail->send()){
echo "sent";
} else {
echo "not sent".$mail->ErrorInfo;
}
我已经尝试了很多,但没有任何效果。希望有人可以在这里提供帮助:)
【问题讨论】:
-
这能回答你的问题吗? Must issue a STARTTLS command first
标签: php server smtp gmail phpmailer