我正在尝试使用PHPMailer发送电子邮件。我使用的是使用Git安装的最新版本(5.2.8)。我的PHP版本是5.5.11,运行在带有Apache 2.2的Centos 6.4上。我正在运行examples/gmail.php
下提供的脚本(也可在http://phpmailer.worxware.com/index.php?pg=examplebgmail下找到),除了我将用户名和密码更改为我的实际gmail凭据。我的gmail凭据适用于PHPMailer 5.0.0。
运行脚本时,出现以下错误:
SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)
SMTP connect() failed.
Mailer Error: SMTP connect() failed.
如果我在我的PhpED IDE中运行脚本,我会从class.phpmailer.php的第1195行获得异常SMTP connection() failed
(第1195行如下所示)。
if (!$this->smtpConnect()) {
throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL);
}
根据之前的回答Connection error with PHPMailer and SMTP: node name or service name not known,我尝试了以下结果:
[root@devserver ~]# nslookup smtp.gmail.com
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
smtp.gmail.com canonical name = gmail-smtp-msa.l.google.com.
Name: gmail-smtp-msa.l.google.com
Address: 173.194.79.108
Name: gmail-smtp-msa.l.google.com
Address: 173.194.79.109
[root@devserver ~]#
[Michael@devserver ~]$ ping smtp.gmail.com
PING gmail-smtp-msa.l.google.com (74.125.25.108) 56(84) bytes of data.
64 bytes from pa-in-f108.1e100.net (74.125.25.108): icmp_seq=1 ttl=47 time=18.6 ms
导致此错误的原因是什么?如何解决?谢谢