Van*_*an6 145 php email-integration laravel laravel-5
我正在尝试通过键入URL向指定用户发送电子邮件,但是我收到以下错误:
AbstractSmtpTransport.php第383行中的Swift_TransportException:预期响应代码250但得到代码"530",消息"530 5.7.1需要验证
到目前为止,我只是想让它与Gmail一起使用.我怎样才能让它发挥作用?
这是我到目前为止:mail.php
<?php
return [
'driver' => env('MAIL_DRIVER',' smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' =>"MyUsername@gmail.com" , 'name' => "example"],
'encryption' => 'tls',
'username' => env('MyUsername@gmail.com'),
'password' => env('MyPassword'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
Run Code Online (Sandbox Code Playgroud)
这就是我在路线中所拥有的:
Route::get('test', function() {
Mail::send('Email.test', [], function ($message) {
$message->to('example@gmail.com', 'HisName')->subject('Welcome!');
});
});
Run Code Online (Sandbox Code Playgroud)
这就是我在我的控制器中所拥有的:
class MailController extends Controller
{
public function Sending_Email()
{
$this->call('GET','Email.test');
return View('Email.test');
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我的.env文件中的内容:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=MyUsername@gmail.com
MAIL_PASSWORD=MyPassword
Run Code Online (Sandbox Code Playgroud)
Ose*_*ian 236
我知道它现在为你工作@ Vantheman6但这对我有用,以防其他人也一样.
我在.env文件中添加了我正在使用的邮件服务的详细信息.因此,请确保以下详细信息
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=MyUsername@gmail.com
MAIL_PASSWORD=MyPassword
Run Code Online (Sandbox Code Playgroud)
在.env文件中是准确的.
注意:编辑.env文件后,不要忘记重新启动服务器,以便选择放在那里的新数据.
如果不重新启动服务器,即使您进行了可能导致此错误的更改,.env文件仍将继续向应用程序显示旧邮件数据.
Ami*_*mir 50
对于laravel 5.1,我的.env文件配置是这样的
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@gmail.com
MAIL_PASSWORD=****************
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)
这里最重要的是我创建了gmail应用程序专用密码(16位).
我需要透露一件事,因为任何配置都没有运气.也就是说,每当我更改.env文件时都需要运行此命令
php artisan config:cache
Run Code Online (Sandbox Code Playgroud)
这是最重要的,因为如果没有这个命令,laravel会从它的缓存执行以前的设置.我需要超过10个小时才能搞清楚.
jsz*_*ody 33
您收到身份验证错误,因为配置文件中的用户名和密码设置错误.
改变这个:
'username' => env('MyUsername@gmail.com'),
'password' => env('MyPassword'),
Run Code Online (Sandbox Code Playgroud)
对此:
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
Run Code Online (Sandbox Code Playgroud)
该env
方法检查.env文件.在你的.env文件中,你调用它们MAIL_USERNAME
,这就是你需要传递给env
方法的东西.
一个故障排除提示:添加dd(Config::get('mail'));
以便您可以看到实际生成的配置.这将帮助您发现这样的问题,并确切地知道Laravel将尝试和使用哪些信息.因此,您可能希望暂时在测试路径中停止该操作以检查您拥有的内容:
Route::get('test', function()
{
dd(Config::get('mail'));
});
Run Code Online (Sandbox Code Playgroud)
小智 10
终于有了!只是为了分享,有更多的配置而不仅仅是.env
这是.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=UserName@gmail.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)
config/mail.php还需要输入地址和名称才能正常工作.
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => 'Username@gmail.com' , 'name' => 'YourName' ],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
Run Code Online (Sandbox Code Playgroud)
小智 9
如果您遇到同样的麻烦并在线尝试所有内容并且它不起作用,则可能是发送错误信息的配置缓存文件.您可以在bootstrap/cache/config.php中找到它.确保凭据正确.我用了一个星期来搞清楚这一点.我希望有一天这会有所帮助.
出于开发目的,https: //mailtrap.io/为您提供了需要在.env文件中添加的所有设置.例如:
Host: mailtrap.io
Port: 25 or 465 or 2525
Username: cb1d1475bc6cce
Password: 7a330479c15f99
Auth: PLAIN, LOGIN and CRAM-MD5
TLS: Optional
Run Code Online (Sandbox Code Playgroud)
否则出于实现目的,您可以从邮件中获取要添加到.env文件中的smtp凭据(例如gmail n all)
添加后,请确保重新启动服务器
它也发生在我身上.
这是因为当我们编辑
.env
文件时,我们需要重新启动服务器.只需停止当前php artisan serve
并再次启动它.这肯定会起作用.
如果仍然没有工作尝试做 php artisan config:cache
供以后来这里的人参考。在您运行此处第三个答案中给出的命令后(我现在使用的是 Laravel 5.3)。
php artisan config:cache
Run Code Online (Sandbox Code Playgroud)
你可能会遇到这个问题:
[ReflectionException]
Class view does not exist
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您需要手动将其添加回 app.php 文件下的提供程序列表中。转到:
app->config->app.php->'providers[]'
并添加它,如下所示:
Illuminate\View\ViewServiceProvider::class,
Run Code Online (Sandbox Code Playgroud)
希望这对某人有帮助。
归档时间: |
|
查看次数: |
193701 次 |
最近记录: |