zend mail 发送gmail邮箱的BUG
在使用zend mail发送邮件的时候, 使用smtp.163.com 发送邮件没有问题. 但是使用smtp.gmail.com发送邮件的时候,apache报错.[attach]1100[/attach]
代码如下:
require_once 'Zend/Loader.php';
require_once 'Zend/Loader/Autoloader.php'; // 自动加载类
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';
$config = array('auth' => 'login',
'port' => 587,
'ssl' => 'tls',
'username' => 'xxxx@gmail.com',
'password' => 'xxxx');
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('xxxx@gmail.com', 'Some Sender');
$mail->addTo('xxxx@163.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send($transport); [b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=10391&ptid=2846]1#[/url] [i]lengyuqing521[/i] [/b]
服务器版本信息:
[attach]1101[/attach] 求管理员解答啊, 在线等 问题应该出在这里
'ssl' => 'ssl',
如果加上ssl或TLS选项 就会报错了 多试几次看看,是不是都这样? 刚才我有下载了一个最新版本的wdlinux 安装到了本地虚拟机, 任何操作没有执行,任何插件都没有进行安装. 就只是切换到了apache引擎, 然后执行, zend_mail 发送邮件, 使用ssl协议 进行发送, 就出现了[attach]1110[/attach]这样的错误. 罪魁祸首是这个函数
stream_socket_client('ssl://smtp.163.com:25', $errorNum, $errorStr, 30);
在执行这个函数的时候 apache报错了. 那应该是不支持SSL 管理员还在吗? 这个问题该怎么解决呢? 是apache 的问题吗? 在以前版本的服务器上没出现这样情况 $resource = stream_socket_client('tcp://smtp.163.com:25', $errorNum, $errorStr, 30);var_dump($resource);
如果使用 TCP协议的话,是可以返回一个资源的, 只是ssl和tls 不行. 加上SSL参数 ,再编译一次apache 试试 SSL 没有被编译进来吗? 我使用phpinfo 却是看到了 1.0的openssl 被编译进去了
如何重新编译apache, 这个不太懂, 有没有现成的语句可以执行 . 重新编译apache, 加上了 ssl , 好像是好使了. 目前还在测试 关注 重新编译了apache,加上了SSL模块, 使用一段时间,的确再没有出现报错的情况了. 希望管理员在下个版本更新的时候处理掉这个问题, 一些没有太多经验的朋友会因为这个问题烦恼很久的 谢谢 很好很强大,学习了 进来留个记号,方便以后查阅{:3_45:}
页:
[1]