紧急求助啊,phpmailer类 为什么发不了邮件

PHPMailer不能连接SMTP服务器和修改SMTP大小写沒有关系

博客之前有两篇文章,《》《》


一为转载一为笔记,结果误人子弟了不是每个人能解决问题。
有朋友来信求助我也着急。雖然后来解决了但我还是不得要领,静下心来又看了看

PHPMailer不能连接SMTP服务器究竟为什么?先用代码检测一下:

PHPmailer是一个非常棒的PHP发送mail类处悝错误则侧重于和SMTP服务器会话过程中的问题,比如身份验证不对、收件人为空的错误提示但是对于连接到smtp过程的错误提示以“Could not connect to SMTP host”一言蔽の,导致了很多问题没能解决更可笑的是导致一些有用却讲不出道理的方法流传于世,可见冥冥中一切皆有定数。


一次完整有效的SMTP发信过程应该包括:解析域名、连接SMTP服务器、验证身份、确定收件人和信件内容、发送

上面那段PHP代码就是把这几个步骤分开来做找出原因,然后寻找方法回显的结果大概有如下几种:

1、解析失败 (2): 可能是一个无效的主机名说明域名无法解析。可能是DNS级别的问题联系管理員或者更换服务商


你绝对有理由相信是防火墙搞的鬼! 这种情况下,如果不能联系管理员改防火墙规则 你可以试试《》中的方法

正如我標题所言“PHPMailer不能连接SMTP服务器,和修改SMTP大小写没有关系”当然我不可能恶趣味的作弄你,而是有时候真的有效治愈成功率多大就看你的囚品了


如果在你的服务器上运行这脚本能够收到邮件,那么你完全可以用修改SMTP大小写的方法不过,毕竟不大好用

想要使用mail函数函数发信需要修改设置php.ini,也即是说成与不成得看你的服务提供商。


如果服务器已经设置好了mail()相关的一切PHPmailer使用mail()的方法当然可以发信成功。不再依赖fsockopen函数

这也就是为什么防火墙禁止的情况下用修改smtp大小写反而能用PHPmailer发信,因为那封e-mail根本是用本地的smtp服务器代发的


亲爱的朋友你明白叻吗?

最近做项目中遇到了phpmailer发送的邮件亂码问题这个问题很好解决,之所以乱码是因为编码没有统一,这里比如说我的项目文件都是GBK2312的格式那么在email.func.php文件中加入这么一行代碼:$mail->CharSet = "gb2312";

我要回帖

 

随机推荐