我实际上是想通过Windows上的wamp连接smtp.gmail.com和zend framework 2来发送邮件。
我有同样的mail.local.php而不是我的同事(在Mac上工作),我配置了php和apache来启用php_openssl和mod_ssl。我删除了我的www存储库中的所有只读权限。我在smtp.gmail.com上启动了一个telnet来测试并运行。
最后,它不起作用,我有这些错误:
SCREAM: Error suppression ignored for
Warning: fwrite(): in C:\wamp\www\***\vendor\zendframework\zendframework\library\Zend\Mail\Protocol\AbstractProtocol.php on line 245
SCREAM: Error suppression ignored for
Fatal error: Uncaught exception 'Zend\Mail\Protocol\Exception\RuntimeException' with message 'Could not read from smtp.gmail.com' in C:\wamp\www\***\vendor\zendframework\zendframework\library\Zend\Mail\Protocol\AbstractProtocol.php on line 289
Zend\Mail\Protocol\Exception\RuntimeException: Could not read from smtp.gmail.com in C:\wamp\www\***\vendor\zendframework\zendframework\library\Zend\Mail\Protocol\AbstractProtocol.php on line 289
我用谷歌搜索了几个小时,没有在网上找到任何东西,但我认为这可能是一个配置或Windows问题。有人可以帮帮我吗?
编辑:
return [
'service_manager' => [
'factories' => [
'mail_transport' => function(ServiceManager $sm) {
$smtpOptions = new \Zend\Mail\Transport\SmtpOptions();
$smtpOptions->setHost('smtp.gmail.com')
->setConnectionClass('plain')
->setName('gmail')
->setPort(587)
->setConnectionConfig(array(
'ssl' => 'tls',
'username' => '***********************@gmail.com',
'password' => '***********************',
));
return new \Zend\Mail\Transport\Smtp($smtpOptions);
},
]
]
];