phpmailer的SMTP ERROR: Failed to connect to server: 10

phpmailer的SMTP ERROR: Failed to connect to server: 10

请问,我在win7上学习使用phpmailer时,出现这种错误怎么处理啊?

SMTP ERROR: Failed to connect to server: (0)

SMTP connect() failed. SMTP connect() failed.

我php用的是apache,win7防火墙关了,用的邮箱也开启smtp功能了

smtp没连接上,或者你的用户名密码错误
追问
用户名密码没错啊?我开过了smtp
我也检查了allow_url_fopen = On
extension=php_openssl.dll等等。都还是一样。
服务器也重启了。
请问还有其他可能原因么?
我的邮箱是刚刚申请的,phpmailer会不会暂时不能用?

追答
pop3 和 smtp都设置正确了吗

原文链接

使用phpmailer插件发邮件失败提示:SMTP -> ERROR: Failed to connect to server: Connection timed out (110) The following From address failed: test@cozof.com Mailer Error: The following From address failed: test@cozof.com

连接服务器失败:连接超时(110)

在本地(windows)测试的时候一切正常,一发到服务器(centos)上就提示以上错误了。本地正常说明用户名,密码都没错,设置也没错,是服务器的设置问题。到网上找了好久,都没找到可行的方法。

我是用gmail的服务,包括在iptables中添加465端口,关闭iptables,关闭selinux 都不行。测试了PHP函数fopen,fsockopen,pfscockopen都正常。期间还使用163邮箱测了下,同样提示以上错误。

后面查啊查,查到了一个贴子,http://drupal.org/node/805834  看13楼,大意是说可能是系统开启了ipv6,而php至少在v5.3.2版本前,在处理ipv6上有些已知的bug……如果是这种情况,可以把smtp的服务器直接设置成ipv4地址…..

所以来排查下。(如果你赶时间的话,直接拖到下文解决方法设置上试下吧。)

1.看下是否开启了ipv6

$ ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:16:3B:E8:F5:26

         inet addr:216.24.198.11  Bcast:216.24.198.127  Mask:255.255.255.128

         inet6 addr: fe80::216:3eff:fee8:f226/64 Scope:Link

         inet6 addr: 2604:6600:5::5769:54ef/64 Scope:Global

看inet6 addr说明开启了支持ipv6

2.连接下gmail的smtp看是否能连接上,gmail的smtp的端口是 465

2.1 telnet 下

$telnet smtp.gmail.com 465

提示找不到telnet命令。

2.2 查看下是否安装了telnet

$rpm -qa|grep telnet


2.3 什么都没提示,说明没有安装。telnet有服务端和客户端,缺少哪个安装哪个。直接yum。

#yum -y install telnet

安装服务端

#yum -y install telnet-server

2.4 安装成功后编辑/etc/xinetd.d/telnet

# vi /etc/xinetd.d/telnet

disable = yes

改成

disable = no

2.5 开启xinetd

#service xinetd start

2.6 测试连接本地

$ telnet localhost

Trying 127.0.0.1…

Connected to localhost.

Escape character is ‘^]’.

..

连接正常

2.7 连接gmail 的smtp 端口是 465

$ telnet smtp.gmail.com 465

Trying 2607:f8b0:400e:c00::6d…

有类似这么一串2607:f8b0:400e:c00::6d 的话说明连的是ipv6,一直卡着连不上。

2.8 ping 下gmail的smtp,找到它的ipv4

$ ping smtp.gmail.com

PING gmail-smtp-msa.l.google.com (74.125.141.108) 56(84) bytes of data.

64 bytes from da-in-f108.1e100.NET (74.125.141.108): icmp_seq=1 ttl=50 time=33.5 ms

74.125.141.108 就是它的ipv4地址

2.9 telnet 到ipv4上看下

$ telnet 74.125.141.108 465

Trying 74.125.141.108…

Connected to 74.125.141.108.

Escape character is ‘^]’.

出现以上这些表示可连接上。看来是默认连接到ipv6的地址上了。

3.解决方法

其中一个方法是禁用服务器的ipv6。其实更好的方法是在发送邮件的代码里把smtp的地址设置为ipv4,如下:

1
$mail
->Host       = 
"173.194.79.108"
;      
// sets GMAIL as the SMTP server  smtp.gmail.com

然后我测试发送了一下,成功!

所以,提示Failed to connect to server: Connection timed out (110)

The following From address failed邮件发不了的问题之一可能是因为ipv6连接不上导致的。也跟php没什么关系,不是php的bug,因为我们这连接测试用talnet连接的,一样优先连接到的是ipv6,不是php中使用代码连的。

4.telnet 不太安全,所以测完把它给禁掉,以后有需要再开启

#vi /etc/xinetd.d/telnet

disable = no

改成

disable = yes

停止服务

# service xinetd stop

5.附上gmail中使用phpmailer发邮件的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

0

阅读 评论 收藏 转载 喜欢 打印举报


已投稿到:

加载中,请稍候......


评论加载中,请稍候...


发评论


登录名:密码:找回密码 注册 记住登录状态

昵   称:

评论并转载此博文sg_trans.gif

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解构赋值的作用_数组解构赋值

    解构赋值的作用_数组解构赋值文章目录概念数组解构声明分别赋值解构默认值交换变量值解构函数返回的数组忽略返回值(或跳过某一项)赋值数组剩余值给一个变量嵌套数组解构字符串解构对象解构基础对象解构赋值给新变量名解构默认值赋值给新对象名的同时提供默认值同时使用数组和对象解构不完全解构赋值剩余值给一个对象嵌套对象解构(可忽略解构)注意事项小心使用已声明变量进行解构函数参数的解构赋值解构的用途交换变量的值从函数返回多个值提取JSON数据概念ES6提供了更简洁的赋值模式,从数组和对象中提取值,这被称为解构示例:[a,b]=[50,1

    2025年8月22日
    0
  • 软阈值(Soft Thresholding)函数解读「建议收藏」

    软阈值(Soft Thresholding)函数解读「建议收藏」题目:软阈值(SoftThresholding)函数解读1、软阈值(SoftThresholding)函数的符号    软阈值(SoftThresholding)目前非常常见,文献【1】【2】最早提出了这个概念。软阈值公式的表达方式归纳起来常见的有三种,以下是各文献中的软阈值定义符号:文献【1】式(12):文献【2】:文献【3】:文献【4】

    2022年4月28日
    40
  • 什么能去颜色_视频去掉不要的部分

    什么能去颜色_视频去掉不要的部分有时候黑白色的视频或者图片会更让人有感觉,那么怎么用AVSVideoEditor给视频去色呢?1.打开AVSVideoEditor软件,点击“导入”,导入一段视频素材到媒体库中。将视频拖到主视频轨道上。打开视频效果,找到“灰度”,鼠标右击然后选择“添加或替换视频效果”,此时视频就会变成黑白色。4.鼠标左键选择视频效果轨,然后点击编辑效果。…

    2022年10月6日
    4
  • TASK异步进程处理场景[通俗易懂]

    TASK异步进程处理场景

    2022年2月13日
    49
  • 【转载】TCP,IP,HTTP,SOCKET区别和联系

    【转载】TCP,IP,HTTP,SOCKET区别和联系

    2021年11月18日
    62
  • 固态硬盘开盘数据恢复的方法是_硬盘数据恢复原理

    固态硬盘开盘数据恢复的方法是_硬盘数据恢复原理在电脑的使用中有时因为一些不当的操作会导致固态硬盘损坏,有的网友就在现实中遇到了这种情况,咨询小编固态硬盘开盘数据恢复的方法,下面小编就将怎么恢复固态硬盘数据教给大家。更多一键重装系统的方法在这里工具/原料系统版本:win10教育版品牌型号:华为MateBookXPro方法一、固态硬盘开盘数据恢复的方法1、怎么恢复固态硬盘数据呢,首先可以查看回收站,如果被删除的数据还在回收站里点击还原即可。方法二、固态硬盘开盘数据恢复的方法1、下载安装嗨格式数据恢复大师,在首界面选择恢复模式和文件存储位置,点击扫描,

    2022年9月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号