WDlinux官方论坛's Archiver

lengyuqing521 发表于 2012-7-18 11:48

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);

lengyuqing521 发表于 2012-7-18 11:51

[b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=10391&ptid=2846]1#[/url] [i]lengyuqing521[/i] [/b]

服务器版本信息:

    [attach]1101[/attach]

lengyuqing521 发表于 2012-7-18 12:21

求管理员解答啊, 在线等

lengyuqing521 发表于 2012-7-18 12:24

问题应该出在这里

'ssl' => 'ssl',

如果加上ssl或TLS选项 就会报错了

admin 发表于 2012-7-18 12:40

多试几次看看,是不是都这样?

lengyuqing521 发表于 2012-7-18 17:12

刚才我有下载了一个最新版本的wdlinux 安装到了本地虚拟机, 任何操作没有执行,任何插件都没有进行安装. 就只是切换到了apache引擎, 然后执行, zend_mail 发送邮件, 使用ssl协议 进行发送, 就出现了[attach]1110[/attach]这样的错误.

lengyuqing521 发表于 2012-7-18 17:38

罪魁祸首是这个函数
stream_socket_client('ssl://smtp.163.com:25', $errorNum, $errorStr, 30);

在执行这个函数的时候 apache报错了.

admin 发表于 2012-7-18 17:38

那应该是不支持SSL

lengyuqing521 发表于 2012-7-18 17:39

管理员还在吗?  这个问题该怎么解决呢? 是apache 的问题吗? 在以前版本的服务器上没出现这样情况

lengyuqing521 发表于 2012-7-18 17:41

$resource = stream_socket_client('tcp://smtp.163.com:25', $errorNum, $errorStr, 30);var_dump($resource);

如果使用 TCP协议的话,是可以返回一个资源的, 只是ssl和tls 不行.

admin 发表于 2012-7-18 17:58

加上SSL参数 ,再编译一次apache 试试

lengyuqing521 发表于 2012-7-18 18:10

SSL 没有被编译进来吗?  我使用phpinfo 却是看到了 1.0的openssl 被编译进去了

如何重新编译apache, 这个不太懂, 有没有现成的语句可以执行 .

lengyuqing521 发表于 2012-7-18 18:39

重新编译apache, 加上了 ssl , 好像是好使了. 目前还在测试

admin 发表于 2012-7-18 20:21

关注

lengyuqing521 发表于 2012-8-1 12:01

重新编译了apache,加上了SSL模块,   使用一段时间,的确再没有出现报错的情况了. 希望管理员在下个版本更新的时候处理掉这个问题, 一些没有太多经验的朋友会因为这个问题烦恼很久的

admin 发表于 2012-8-1 12:47

谢谢

happyboy 发表于 2013-3-25 16:48

很好很强大,学习了

wwdahaiww 发表于 2013-3-25 17:09

进来留个记号,方便以后查阅{:3_45:}

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.