我一直试图收到Laravel发送的电子邮件,但是没有成功。我一直在使用宅基地进行本地测试,并且在实时Linux服务器环境中没有运气。
我已从.env文件中删除了电子邮件设置。并直接在我的配置/邮件文件中添加设置。
到目前为止,我已经尝试了Office 365设置,gmail和最终的maligun,其中没有一个发送电子邮件。
我的设置如下。
'driver' => env('MAIL_DRIVER', 'mailgun'),
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'postmaster@sandbox********099b827475b585029.mailgun.org'),
'name' => env('MAIL_FROM_NAME', 'Test account'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('postmaster@sandbox****************099b827475b585029.mailgun.org'),
'password' => env('********************'),
我通过密码/重置完成密码重置过程,它表示密码重置链接已成功发送但永远不会发送,mailgun日志确认没有发送电子邮件,令牌在password_reset表中更新
我ssh到家园并测试使用curl通过mailgun发送电子邮件,这很有效。
如果我将邮件驱动程序设置为SMTP,我仍会遇到同样的问题。
将驱动器设置为' log'日志文件显示电子邮件模板等。
任何帮助将不胜感激。
感谢
答案 0 :(得分:2)
您使用的环境是什么?本地还是生产?
您使用的是哪种电子邮件? Gmail或测试邮件如mailtrap?
如果gmail确实从设置中激活了smtp?请提供更多信息。
更新
让我们测试其他方法,看看它是否有任何差异:
转到您的路线文件web.php
并对此进行评论:
// Auth::routes();
现在添加以下路线:
// Authentication routes
Route::get('/login',['as'=>'login', 'uses' => 'Auth\LoginController@showLoginForm']);
Route::post('/login', ['uses'=>'Auth\LoginController@login']);
Route::get('/logout',['as'=>'logout', 'uses'=>'Auth\LoginController@logout']);
Route::get('/register', ['as' => 'register', 'uses' => 'Auth\RegisterController@showRegisterForm']);
Route::post('password/email', ['as'=>'password.email', 'uses'=>'Auth\ForgotPasswordController@sendResetLinkEmail']);
Route::get('password/reset', ['as'=>'password.request', 'uses'=>'Auth\ForgotPasswordController@showLinkRequestForm']);
Route::post('password/reset', ['as'=>'password.request', 'uses'=>'Auth\ResetPasswordController@reset']);
Route::get('password/reset/{token}', ['as'=>'password.reset', 'uses'=>'Auth\ResetPasswordController@showResetForm']);
Route::post('logout', ['as'=>'logout', 'uses'=>'Auth\LoginController@logout']);
尝试看看它是否有效。