我想發送電子郵件忘記密碼功能congaing新密碼。這裏是我的代碼,電子郵件不發送使用smtp laravel 5.4
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=offrs
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
這裏是我發送郵件
public function sendMail(Request $request){
$new_key = str_random(10);
$data = array();
$data['email'] = $request->email;
$data['key'] = $new_key;
$checkUser = User::where('email','=',$request->email)->first();
if($checkUser == null){
return redirect()->back()->with('error','No User with this email exists in our record');
}
else{
Mail::send('mail.forgetPasswordMail', ['data' => $data], function ($message) use ($data) {
$message->from('[email protected]', 'RAIA Admin');
$message->to(Input::get('email'))->subject('Your New Password');
});
// $useremail = $request->get('email');
// $user = User::where('email', '=', $useremail)->first();
$checkUser->password = bcrypt($new_key);
$checkUser->save();
return redirect()->route('login')->with('success','Please Check Your email for new password');
}
}
它總是會產生誤差函數。 (1/1)Swift_TransportException 無法與主機建立連接smtp.sendgrid.net [由於目標機器主動拒絕而無法建立連接。
10061]
在Swift_Transport_StreamBuffer->初始化(陣列( '協議'=> 'TCP', '主機'=> 'smtp.sendgrid.net', '端口'=> 587, '超時' => 30,'blocking'=> 1,'tls'=> true,'type'=> 1,'stream_context_options'=> array())) in AbstractSmtpTransport.php(line 113)
Help will請欣賞。
你的代碼,您可能需要更改這些SMTP憑證,如果他們活的服務器上使用。還通過電子郵件發送密碼真的不安全。 – cteski
我將來會更改密碼方案。問題是電子郵件不在本地環境以及在服務器上發送。我使用Xampp作爲本地服務器和heroku作爲活動服務器。你能幫助我嗎? –
有什麼幫助嗎? –