如何在没有 SSL 的情况下通过 PHPMAILER 发送电子邮件 - 端口 25?
How can I send an email via PHPMAILER without SSL - port 25?
我想使用 PHPMailer 发送不带 SSL 的电子邮件。我已启用调试模式,以便我可以在日志中查看详细信息。
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(true); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = false; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "mail.company.co.uk";
$mail->Port = 25; // or 587
$mail->IsHTML(true);
$mail->Username = "email@company.co.uk";
$mail->Password = "password_of_username";
$mail->SetFrom($email,$name);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AddAddress($to);
这是一个例外:
2018-09-28 10:04:27 CLIENT -> SERVER: EHLO localhost<br>
2018-09-28 10:04:27 CLIENT -> SERVER: STARTTLS<br>
SMTP Error: Could not connect to SMTP host.<br>
2018-09-28 10:04:28 CLIENT -> SERVER: QUIT<br>
2018-09-28 10:04:28 <br>
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting<br>
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
您的代码基于旧示例,但没有帮助。你看不到发生了什么,因为你只对 SMTPDebug
使用了 1
;将其设置为 2
.
您的邮件服务器通告它在端口 25 上支持 STARTTLS,因此 PHPMailer 会自动使用它。您可以通过这样做完全禁用加密:
$mail->SMTPAutoTLS = false;
$mail->SMTPSecure = false;
但是,我建议不要这样做;改为修复您的 TLS 配置。您可能需要更新本地 CA 证书包 - 请参阅故障排除指南了解更多详细信息。
我想使用 PHPMailer 发送不带 SSL 的电子邮件。我已启用调试模式,以便我可以在日志中查看详细信息。
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->IsSMTP(true); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = false; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "mail.company.co.uk";
$mail->Port = 25; // or 587
$mail->IsHTML(true);
$mail->Username = "email@company.co.uk";
$mail->Password = "password_of_username";
$mail->SetFrom($email,$name);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AddAddress($to);
这是一个例外:
2018-09-28 10:04:27 CLIENT -> SERVER: EHLO localhost<br>
2018-09-28 10:04:27 CLIENT -> SERVER: STARTTLS<br>
SMTP Error: Could not connect to SMTP host.<br>
2018-09-28 10:04:28 CLIENT -> SERVER: QUIT<br>
2018-09-28 10:04:28 <br>
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting<br>
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
您的代码基于旧示例,但没有帮助。你看不到发生了什么,因为你只对 SMTPDebug
使用了 1
;将其设置为 2
.
您的邮件服务器通告它在端口 25 上支持 STARTTLS,因此 PHPMailer 会自动使用它。您可以通过这样做完全禁用加密:
$mail->SMTPAutoTLS = false;
$mail->SMTPSecure = false;
但是,我建议不要这样做;改为修复您的 TLS 配置。您可能需要更新本地 CA 证书包 - 请参阅故障排除指南了解更多详细信息。