我正在尝试在Windows 10上发送带有Symfony 4,Wamp和fake sendmail的电子邮件,但没有成功,我已在OVH上托管。我想指定我在OVH上托管一个站点,在Symfony 2上运行相同的参数,Swiftmailer工作正常。
这是我的Swiftmailer的Symfony .env行:
MAILER_URL=smtp://smtp.dnimz.com:465?encryption=ssl&auth_mode=login&username=simslay@dnimz.com&password=***
以下是我的Swiftmailer Symfony控制器的一部分:
$message = (new \Swift_Message('Hello Email'))
->setFrom(array($this->container->getParameter('mailer_user') => 'dnimz'))
->setTo($user->getEmail())
->setBody(
$this->renderView(
'emails/email_registration.html.twig',
array('username' => $user->getUsername())
),
'text/html'
);
try {
$this->get('mailer')->send($message);
$this->addFlash('notice', 'mail envoyé !');
} catch (\Exception $e) {
$this->addFlash(
'notice',
'<strong>Le message n\'a pu être envoyé !</strong>'
);
}
这是来自假sendmail的我的sendmail.ini:
[sendmail]
smtp_server=smtp.dnimz.com
smtp_port=465
smtp_ssl=auto
error_logfile=error.log
auth_username=simslay@dnimz.com
auth_password=***
pop3_server=
pop3_username=
pop3_password=
force_sender=
force_recipient=
hostname=
这是我的php.ini邮件功能部分:
SMTP =smtp.dnimz.com
smtp_port =465
sendmail_from = "simslay@dnimz.com"
sendmail_path = "C:/wamp64/sendmail/sendmail.exe"
mail.add_x_header = On
发送电子邮件时,我收到了此警告和错误:
[debug]警告:stream_socket_client():SSL操作失败,代码为1. OpenSSL错误消息: 错误:14090086:SSL例程:ssl3_get_server_certificate:证书验证失败
2017-12-29T18:44:09 + 00:00 [debug]警告:stream_socket_client():无法启用加密
2017-12-29T18:44:09 + 00:00 [debug]警告:stream_socket_client():无法连接到ssl://smtp.dnimz.com:465(未知错误)
2017-12-29T18:44:09 + 00:00 [错误]刷新电子邮件队列时发生异常:无法与主机smtp.dnimz.com建立连接[#0]
我不知道为什么会出现这些错误?
答案 0 :(得分:0)
看起来您要么没有安装OpenSSL,要么出现证书错误。我记得一个类似的问题,就像在Windows上经常出现的作曲家警告一样。解决方案是安装缺少的证书(只需将其放在WAMP安装的certs文件夹中)。
供参考: