请问,我在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

赠金笔

-->

0

赠金笔

阅读
评论 收藏
转载
喜欢
打印举报
已投稿到:

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

发评论

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

昵   称:

评论并转载此博文

发评论

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


  

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

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

Copyright © 1996 - 2017 SINA Corporation, All Rights Reserved

新浪公司 版权所有

phpmailer的SMTP ERROR: Failed to connect to server: 10的更多相关文章

  1. 使用phpmailer插件发邮件失败提示:SMTP -> ERROR: Failed to connect to server: Connection timed out (110) smtp connect() failed;

    一个邮件发送问题,整整弄了我一周时间,起因是这样的,之前弄的一个网站,需要在邮箱里面认证之后才可以注册成功.网站上线了差不多一年之后,客户突然跟我说,网站不能注册了,然后我就查看了一下代码. 发现报这 ...

  2. linux下phpmailer发送邮件出现SMTP ERROR: Failed to connect to server: (0)错误

    转自:https://www.cnblogs.com/raincowl/p/8875647.html //Create a new PHPMailer instance $mail = new PHP ...

  3. 腾讯云服务器SMTP ERROR: Failed to connect to server

    一般邮件发送失败是 1.配置的问题. 2.扩展问题socket/ssl 百度搜出来一般都是以上的解决办法, 但是我这次遇到的不是. 本地可以放到腾讯云服务器就不行了,扩展也都开了. 后来发现是安全组端 ...

  4. loadrunner:Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Conne ...

  5. LR报:Error 27796 Failed to connect to server

    原错误信息: Action.c(58): Error -27796: Failed to connect to server "10.1.44.68:7013": [10048] ...

  6. phpmailer SMTP Error: Could not connect to SMTP host. 错误解决

    今天发邮件遇到了这么一个问题:SMTP Error: Could not connect to SMTP host.在网上找了好多,都不管用.在这里我要提醒大家下 1.确保发送者邮箱密码正确,代码编写 ...

  7. SMTP Error: Could not connect to SMTP host

    PHPMailer是一个非常棒的开源邮件类,使用也非常简单,但是对于虚拟主机来说,往往要受到各种限制.刚才我在虚拟主机上使用PHPMailer就遇到一个“SMTP Error: Could not c ...

  8. 解决 SMTP Error: Could not connect to SMTP host. 问题

    我在使用PHPmailer发邮件时候,遇到了这个问题“SMTP Error: Could not connect to SMTP host.”,分享一下解决方法. 这个错误是PHP版本7产生的.如果我 ...

  9. 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法

      场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...

随机推荐

  1. Webpack 2 视频教程 015 - Webpack 2 中的文件压缩

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  2. 物联网细分领域-车联网(OBD)市场分析

    前言: 这段时间在跟一个车联网的项目,所以做了一些研究. OBD概述 OBD是英文On-Board Diagnostic的缩写,中文翻译为"车载诊断系统".这个系统随时监控发动机的 ...

  3. perl-5.14.0在新版gcc中编译不通过解决办法

    1     由于在新版本中GCC把C99中的标准库分成了libc和libm两个部分,libm中包含一些数学库等,如果要用到libm时,必须加上-lm选项 在解压Configure之后,再在Makefi ...

  4. SQL语言的分类

    本文转自https://www.cnblogs.com/fjfzhkb/archive/2007/10/18/929108.html SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, ...

  5. 阿里云EMR集群初始化后的开发准备工作

              前言:EMR的集群使用越来越普遍,但是每一次的集群释放到集群的重新创建,期间总有一些反复的工作需要查询与配置.为方便后续工作查阅,现在对集群初始化后的工作进行大概的梳理如下.   ...

  6. TurnipBit—MicroPython开发板:妥妥拽拽零基础也能玩编程

    可视化编程网站入口:www.turnipbit.com 说到编程.谈到硬件,你也许会想到屌丝逆袭女神的"传奇"故事,也许会浮现出带着眼镜.头发稀少.无精打采的程序猿形象." ...

  7. 【转】NO.1、 appium之ios环境搭建

    首先感谢iOS开发同学无私的帮助.   一.环境及版本: xcode:7.1,我是百度下的dmg文件,直接装的,这个太大了,请自行百度,或升级自己的xcode,一般都不需要这一步. appium:1. ...

  8. opencv提供的带参数例程

    body { font-family: @微软雅黑; font-size: 8pt; line-height: 1.5 } html,body { color: inherit; background ...

  9. 14.7.1.2 MySQL创建用户句法

    14.7.1.2 CREATE USER Syntax 单击此处查看原文 以下是MySQL 5.7.6及以上版本的CREATE USER句法 CREATE USER [IF NOT EXISTS] u ...

  10. 微信小程序之两个页面传值

    需求:发送页面点击某一个元素之后,获取该元素的属性值,然后把这些属性值传到接收页面中. 思路:获取当前点击元素的索引,就能获取当前元素的值,然后通过跳转的 url 地址传递值 还是整个完整的例子吧: ...