phpmailer在站点上工作,但不在本地主机上工作
我正在尝试使用phpmailer从本地主机发送邮件,但它不起作用。我从字面上复制并粘贴了代码的工作版本(在我的网站上工作),但当我尝试发送邮件时,它会给我以下错误:phpmailer在站点上工作,但不在本地主机上工作,php,email,localhost,phpmailer,Php,Email,Localhost,Phpmailer,我正在尝试使用phpmailer从本地主机发送邮件,但它不起作用。我从字面上复制并粘贴了代码的工作版本(在我的网站上工作),但当我尝试发送邮件时,它会给我以下错误: SMTP ERROR: Failed to connect to server: Operation timed out (60) SMTP connect() failed. Mailer Error: SMTP connect() failed. 我尝试过的事情: 用SMTP注释掉行(失败时不会给出错误消息) 将端口号更改为
SMTP ERROR: Failed to connect to server: Operation timed out (60)
SMTP connect() failed.
Mailer Error: SMTP connect() failed.
我尝试过的事情:
require_once("vendor/phpmailer/phpmailer/PHPMailerAutoload.php");
$mail = new PHPMailer();
$mail->SMTPDebug = 2;
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Host = "example.com";
$mail->Port = 587;
$mail->Username = "username@example.com";
$mail->Password = "password";
$mail->From = "username@example.com";
$mail->FromName = "name";
$mail->addAddress("user@gmail.com");
$mail->Subject = "Subject";
$mail->Body = "Body";
if(!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
echo "Message has been sent successfully";
}
提前感谢您是否真的有一个SMTP服务器监听端口587,您的本地计算机可以通过
$mail->Host
的值访问该端口?您是否实际更改了“example.com”
中的值?您可以使用telnet
测试SMTP服务器。既然您看起来是通过composer使用PHPMailer,为什么不使用composer的自动加载程序?阅读自述文件和故障排除指南可能会有所帮助,并确保您使用的是最新版本。@ironchicken对两者都是肯定的。Telnet说我已连接,我只在发布代码时更改了值here@Synchro我试过有作曲家和没有作曲家,两种方式都不起作用,所以按照指南中的说明进行诊断。你应该在发帖前搜索——这个问题有很多重复的地方。