首页 > 解决方案 > PHP 邮件功能:我必须停用防火墙吗?

问题描述

我正在使用 xampp sendmail 在我的本地主机中使用 php 制作邮件发件人。

我按照应有的方式配置了 sendmail.ini 和 php.ini 文件,但在 errol.log 文件中仍然出现此错误:

18 年 4 月 19 日 13:51:58:套接字错误 #10013 访问被拒绝。

当我搜索时,我发现我必须停用防火墙,但我正在使用受控防火墙进行管理。

还有其他解决方案吗?

我在 sendmail.ini 上所做的配置:

smtp_server= smtp.gmail.com
smtp_ssl=tls
auth_username= (my email)
auth_password= (my email's password)
force_sender= (my email)
hostname= localhost

我在 php.ini 上所做的配置:

;SMTP = localhost
sendmail_path = C:\xampp\sendmail\sendmail.exe

标签: phpxamppsmtpphpmailersendmail

解决方案


避免在 PHPMailer 中使用mail()(默认) 和 sendmail (with isSendmail()) 传输;改用 SMTP 到 localhost,因为它更快更安全。这也意味着您可以忽略 php.ini 中的所有邮件和 sendmail 配置。尝试这个:

$mail->isSMTP();
$mail->Host = 'localhost';

如果您没有可用的本地邮件服务器(这也可以解释您使用时遇到问题的原因mail()),请将Host属性更改为指向您的托管服务提供商的邮件服务器 - 他们应该能够提供有关要使用的设置的文档.


推荐阅读