php - Laravel:邮件连接错误

标签 php laravel email ssl shared-hosting

我有一个在 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/

相关文章:

php - Symfony 配置 : Array node or null

PHP set_time_limit 有效但返回 false

php - Laravel 5 项目结构(插件系统)

Laravel Vue Prop htmlspecialchars()

python - Mutt 不附加多个文件并将附件发送到 python 中的服务器

php - laravel - 从数据库中删除 updated_at 和 created_at 列后,laravel 尝试插入它们

php - 如何使用 Laravel 查询生成器执行此查询

java - 从邮件中下载附件并使用java保存

php - 发送带有国际口音和特殊字符的电子邮件

php - jQuery YouTube 播放器