php - 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
解决方案
避免在 PHPMailer 中使用mail()
(默认) 和 sendmail (with isSendmail()
) 传输;改用 SMTP 到 localhost,因为它更快更安全。这也意味着您可以忽略 php.ini 中的所有邮件和 sendmail 配置。尝试这个:
$mail->isSMTP();
$mail->Host = 'localhost';
如果您没有可用的本地邮件服务器(这也可以解释您使用时遇到问题的原因mail()
),请将Host
属性更改为指向您的托管服务提供商的邮件服务器 - 他们应该能够提供有关要使用的设置的文档.
推荐阅读
- android - 抽屉菜单汉堡按钮在创建时不起作用
- android - 不重试获取应用设置:admob
- reactjs - React Office UI Fabric - hoverCard 模式
- java - java --version 显示 10 但已安装 java 11
- php - 如何正确调用基类构造函数
- javascript - 在sqlite中插入对象的方法?
- kdb - KDB 是否公开了更通用的 http 处理函数?(任何方法,不仅仅是 GET & POST)
- python - 如何从平面文件(基因本体 OBO 文件)生成递归树状字典?
- php - PHP DOMDocument 没有删除所有元素
- java - 如何获取所有主题分区的最后一个偏移量?