2017-06-21 81 views
0

我想发送电子邮件忘记密码功能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请欣赏。

+0

你的代码,您可能需要更改这些SMTP凭证,如果他们活的服务器上使用。还通过电子邮件发送密码真的不安全。 – cteski

+0

我将来会更改密码方案。问题是电子邮件不在本地环境以及在服务器上发送。我使用Xampp作为本地服务器和heroku作为活动服务器。你能帮助我吗? –

+0

有什么帮助吗? –

回答

0

更改下面

MAIL_ENCRYPTION=null 
+0

请为你的代码添加一个解释,说明_如果你的代码改变有助于OP(提问者)。 –