我有一个在 BLUEHOST 共享服务器上工作的 laravel 5.2 项目,我在配置我的电子邮件应用程序时遇到了问题,我没有使用其他邮件服务(如 mailgun),只是使用了 laravel 的服务,我用我的 gmail 帐户尝试了它并且他们的配置和这工作正常(只是为了测试),所以我需要用 BLUEHOST 邮件服务设置它。
我从 BLUEHOST 提供的电子邮件帐户配置中获得了这些数据:
Email Settings
Mail Server Username: info@domain.com
Standard (without SSL)
Incoming Mail Server: mail.domain.com
Supported Ports: 143 (IMAP), 110 (POP3)
Outgoing Mail Server: mail.domain.com
Supported Port: 26 (server requires authentication)
Private (with SSL)
Incoming Mail Server: box668.bluehost.com (SSL)
Supported Ports: 993 (IMAP), 995 (POP3)
Outgoing Mail Server: box668.bluehost.com (SSL)
Supported Port: 465 (server requires authentication)
Supported Incoming Mail Protocols: POP3, IMAP
Supported Outgoing Mail Protocols: SMTP
我的配置/mail.php:
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'mail.domain.com'),
'port' => env('MAIL_PORT', 465),
'from' => ['address' => 'info@domain.com', 'name' => 'Some name'],
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
];
我的 .env 电子邮件设置:
MAIL_DRIVER=smtp
MAIL_HOST=mail.domain.com
MAIL_PORT=465
MAIL_USERNAME=info@domain.com
MAIL_PASSWORD=info123+
MAIL_ENCRYPTION=ssl
我尝试了两个选项(标准(没有 SSL)和私有(private)(有 SSL))但是我得到了这个错误:
Swift_TransportException in StreamBuffer.php line 269:
Connection could not be established with host mail.domain.com [ #0]
怎么了?或者我的客户必须购买 Mailgun 的订阅?
最佳答案
这是我自己想出来的!我将重申 Matthijs 所说的话,然后我的原始贡献在下面以粗体显示 - 这就是为我修复它的原因。
这就是我所做的,我不知道您已经尝试过什么,但这对我有用。
我通过 ssh 进入我的服务器并 cd 进入我的 laravel 应用程序。我应该提一下,我托管在 Vultr 而不是 Bluehost 上,但它的工作原理应该是一样的……我想?
cd /var/www/laravel
您将要打开您的 env 文件并进行一些配置。
ls -a
nano .env
在您的服务器上进行更改,然后运行 artisan config cache 命令
php artisan cache:command
如果您通过 GMail 运行,则需要让您接受安全性较低的应用程序。
如果这仍然不起作用,那么您需要实际进入您的 config 文件夹并更改您的 mail.php 文件以匹配您的 env 文件中的信息。这是我的样子:
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'spkellydev@gmail.com'),
'name' => env('MAIL_FROM_NAME', 'Sean!'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
然后我有一些根本不相关的自定义设置。希望这对你有所帮助, friend !
关于php - Laravel:邮件连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45259573/