每当我使用Email :: Send :: Gmail运行简单的发送电子邮件功能时,我都会收到此错误:
[Mon Jan 28 11:37:57 2013] [错误] [客户端31.171.245。]发送电子邮件时出错:Email :: Send :: Gmail:错误连接到服务器smtp.gmail.com at / usr / local / share / perl5 / Email / Send.pm第252行,referer:http:// **。cgi
但是,从命令行运行时,完全相同的代码正在运行。从命令行telneting时可以使用smtp.gmail.com。这是因为持久性还是我错过了什么?
答案 0 :(得分:0)
Alrgiht,我明白了。似乎CentOS上的selinux阻止了来自httpd的外部连接,因此脚本没有连接。
您需要输入此
setsebool -P httpd_can_network_connect = 1
为了连接。
答案 1 :(得分:-1)
尝试(在你的cgi脚本中)这样做:
use Net::SMTP::SSL;
Net::SMTP::SSL->new( 'smtp.gmail.com', Port => 465, Debug => 1 );
并查看调试信息是否告诉您任何有用的信息。
您的cgi脚本是否可能使用不同的perl,并且安装了不同的模块?