Email Laravel发送电子邮件不起作用
我正试图与laravel发送电子邮件,但不知何故,我收到以下消息: AbstractSmtpTransport.php第383行中的Swift_TransportException: 预期响应代码220,但得到代码“421”,带有消息“421 无法连接到SMTP服务器52.20.34.166(52.20.34.166:587),请连接 错误10060“ 我的.env文件如下所示:Email Laravel发送电子邮件不起作用,email,laravel,smtp,laravel-5.1,swiftmailer,Email,Laravel,Smtp,Laravel 5.1,Swiftmailer,我正试图与laravel发送电子邮件,但不知何故,我收到以下消息: AbstractSmtpTransport.php第383行中的Swift_TransportException: 预期响应代码220,但得到代码“421”,带有消息“421 无法连接到SMTP服务器52.20.34.166(52.20.34.166:587),请连接 错误10060“ 我的.env文件如下所示: APP_ENV=local APP_DEBUG=true APP_KEY=rFhHPTfEg4nxYEeqVzoQW
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
MAIL_USERNAME=test@test.de
MAIL_PASSWORD=123456789
MAIL_ENCRYPTION=tls
<?php
return [
'driver' => env('MAIL_DRIVER', 'mail'),
'host' => env('MAIL_HOST', ''),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'test@test.de', 'name' => 'test'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
# Send Mail
Mail::send('emails.email', $data, function($message) use ($data)
{
$message->from($data['email'] , $data['title']);
$message->to('test@test.de', 'my name')->subject('contact request');
});
my mail.php如下所示:
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
MAIL_USERNAME=test@test.de
MAIL_PASSWORD=123456789
MAIL_ENCRYPTION=tls
<?php
return [
'driver' => env('MAIL_DRIVER', 'mail'),
'host' => env('MAIL_HOST', ''),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'test@test.de', 'name' => 'test'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
# Send Mail
Mail::send('emails.email', $data, function($message) use ($data)
{
$message->from($data['email'] , $data['title']);
$message->to('test@test.de', 'my name')->subject('contact request');
});
我在代码中找不到错误。谢谢您的帮助。我注意到,
mailtrap
为您提供了特定的username
和password
。您是否尝试使用它们而不是test@test.de;123456789
?您需要在.env
上放置一封有效的电子邮件,找到您的个人邮件配置,然后重试
也许您想从config/mail.php
上的更改配置,以显示您的姓名和邮件
我这样说是因为我看到您有主机mailtrap.io
,但是test@test.de
不是此主机的有效用户
可能587到邮件端口的值不正确。您需要使用以下命令:
php artisan config:cache
它在更改环境文件之前对其起作用,然后键入此命令并运行它。它会工作。尝试将端口587更改为25465或2525是的,这是一个很好的答案。我忘了在mailtrap.io上创建帐户