2016-03-10 41 views
0

我试图与发送电子邮件laravel但不知何故,不工作我得到以下信息:Laravel发送电子邮件不起作用

Swift_TransportException在AbstractSmtpTransport.php行383: 预期的响应代码220,但得到了代码 “421”,与消息 “421 无法连接到SMTP服务器52.20.34.166(52.20.34.166:587),连接 错误10060”

我.ENV文件看起来像这样:

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=rFhHPTfEg4nxYEeqVzoQWX70a0AA5uw3 

DB_HOST=localhost 
DB_DATABASE=test 
DB_USERNAME=root 
DB_PASSWORD= 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=123456789 
MAIL_ENCRYPTION=tls 

我mail.php看起来是这样的:

<?php 

return [ 

    'driver' => env('MAIL_DRIVER', 'mail'), 
    'host' => env('MAIL_HOST', ''), 
    'port' => env('MAIL_PORT', 587), 
    'from' => ['address' => '[email protected]', 'name' => 'test'], 
    'encryption' => env('MAIL_ENCRYPTION', 'tls'), 
    'username' => env('MAIL_USERNAME'), 
    'password' => env('MAIL_PASSWORD'), 
    'sendmail' => '/usr/sbin/sendmail -bs', 
    'pretend' => false, 

]; 

而且我Controlller里面我把它叫做是这样的:

# Send Mail 
    Mail::send('emails.email', $data, function($message) use ($data) 
    { 
     $message->from($data['email'] , $data['title']); 
     $message->to('[email protected]', 'my name')->subject('contact request'); 
    }); 

我无法找到我的代码错误。感谢帮助。

+0

尝试更改端口587到25,465或2525 – avip

回答

0

其他事情我注意到mailtrap给你具体的usernamepassword。您是否尝试使用它们而不是[email protected];123456789

+0

是的,这是以某种方式回答。我忘了在mailtrap.io上创建一个帐户 –

0

您需要在.env上输入有效的电子邮件,找到您的个人邮件配置,然后再试一次。

也许你想更改配置在config/mail.php显示你的名字和邮件。

我这样说是因为我看到您拥有主机mailtrap.io,但[email protected]不是该主机的有效用户。

也许587到MAIL_PORT是不正确的值。

-1

您需要使用此命令:您更改ENV文件之前

php artisan config:cache 

它适用于它,并键入此命令并运行它。它会工作。