我试图从我的cakephp应用发送电子邮件。应用网址为subdomain.domain.com。我们已将domain.com设置为与microsoft office 365配合使用。
当我从虚拟盒子(蛋糕盒)中发送电子邮件时发送电子邮件,但是当我尝试生产服务器(由proisp.no托管的共享服务器)时,我无法做到。托管服务器使用cPanel运行linux。
奇怪的是,就在几天前,即使在我今天做了一些改变之后,我也可以发送电子邮件。我所做的更改是添加一个插件,EmailQueue,并为队列添加一个新表,当然还有一些简单的编码。我会提醒你,它可以从我的虚拟盒子中运行,但仍然不在生产服务器上。
此外,使用Cake \ Mailer \ Email发送邮件都不适用于prod。服务器现在。
我得到的错误是:
SMTP服务器未接受连接或尝试使用TLS连接到非TLS SMTP服务器。 电子邮件1未发送 警告错误:stream_socket_enable_crypto():对等证书CN =`cpanel44.proisp.no'不符合预期的CN =`smtp.office365.com'在[/home/username/tools/vendor/cakephp/cakephp/src/Network/Socket.php,第433行]
2017-05-09 22:41:42警告:警告(2):stream_socket_enable_crypto():对等证书CN =`cpanel44.proisp.no'不符合预期的CN =`smtp.office365.com'在[/home/username/tools/vendor/cakephp/cakephp/src/Network/Socket.php,第433行] 跟踪: Cake \ Error \ BaseErrorHandler :: handleError() - CORE / src / Error / BaseErrorHandler.php,第153行 stream_socket_enable_crypto - [内部],行? Cake \ Network \ Socket :: enableCrypto() - CORE / src / Network / Socket.php,第433行 Cake \ Mailer \ Transport \ SmtpTransport :: _ connect() - CORE / src / Mailer / Transport / SmtpTransport.php,第226行 Cake \ Mailer \ Transport \ SmtpTransport :: send() - CORE / src / Mailer / Transport / SmtpTransport.php,第162行 Cake \ Mailer \ Email :: send() - CORE / src / Mailer / Email.php,第2052行 EmailQueue \ Shell \ SenderShell :: main() - ROOT / vendor / lorenzo / cakephp-email-queue / src / Shell / SenderShell.php,第100行 Cake \ Console \ Shell :: runCommand() - CORE / src / Console / Shell.php,第472行 Cake \ Console \ ShellDispatcher :: _ dispatch() - CORE / src / Console / ShellDispatcher.php,第230行 Cake \ Console \ ShellDispatcher :: dispatch() - CORE / src / Console / ShellDispatcher.php,第182行 Cake \ Console \ ShellDispatcher :: run() - CORE / src / Console / ShellDispatcher.php,第128行 [主要] - ROOT / bin / cake.php,第34行
这是我的设置:
'EmailTransport' => [
'default' => [
'className' => 'Smtp',
// The following keys are used in SMTP transports
'host' => 'smtp.office365.com',
'port' => 587,
'timeout' => 30,
'username' => 'name@domain.com',
'password' => 'password',
'client' => null,
'tls' => true,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
'Debug' => [
'className' => 'Debug',
// The following keys are used in SMTP transports
'host' => 'smtp.office365.com',
'port' => 587,
'timeout' => 30,
'username' => 'name@domain.com',
'password' => 'password',
'client' => null,
'tls' => null,
'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
],
],
'Email' => [
'default' => [
'transport' => 'default',
'from' => 'name@domain.com',
],
'debug' => [
'transport' => 'Debug',
'from' => 'name@domain.com',
],
],