Laravel'de Mail işlevini kullanırken, aşağıda gösterilen hatayı alıyorum.Laravel: E-postayı gönder "
ben .env dosyasındaki tüm verilere sahip ve yapılandırmasındaki toplayıp hem birinci denedim/mail.php 'yi
o oradan elde değildi sonra durumunda mail.php' yi içine hardcoding .
Farklı portları da denedim, 465'i bekledim, fakat aynı zamanda 587 ve 25'i de değiştirmedi.
Ayrıca farklı smtp sunucularını denedim ve diğer web sitelerinde farklı (hangi çalışma) Postaları denedim. Yani benim sunucum değil ya da böyle kokuyor.
Kullanıcıları kaydetmek ve daha sonra üzerine tıklamak için bir onay postası göndermek için bunu kullanıyorum. Tamamen masaya saklanırlar, ama postayı gönderirken, dışarı çıkmaz.
Ayrıca, $ data dizisinden alamıyorsa, denetleyici dosyasındaki Kime: adresini kodlamayı denedim. Değişiklik yok.
Mail::send('auth.emails.register', ['data' => $data ], function($mail) use($data) { $mail->from('[email protected]', 'Your Application');
$mail->subject('Confirm your mail');
$mail->to($data['email'], $data['name']);
});
return redirect("auth/register")
->with("message", "A confirmation link has been sent to your email");
}
Bunu gidermek için nereden alıyor ve (aynı zamanda Tablo kaydedildi) Confirm_token
Hata okuma böyle gider Hata ekranda görebilirsiniz
:
Swift_TransportException in AbstractSmtpTransport.php line 404:
Connection to server.websitehostserver.net:465 Timed Out
in AbstractSmtpTransport.php line 404
at Swift_Transport_AbstractSmtpTransport->_getFullResponse('0') in AbstractSmtpTransport.php line 289
at Swift_Transport_AbstractSmtpTransport->_readGreeting() in
AbstractSmtpTransport.php line 117
at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79
at Swift_Mailer->send(object(Swift_Message), array()) in Mailer.php line 386
at Mailer->sendSwiftMessage(object(Swift_Message)) in Mailer.php line 173
at Mailer->send('auth.emails.register', array('data' => array('name' => 'aaaaa', 'email' => '[email protected]', 'confirm_token' => 'x5nSRdqgPApFWUvwlNcMLmwvMQ1T64IKpfX0IHjqm7zjwfDYEhCSGPixJyNky2XU5')), object(Closure)) in compiled.php line 6222
at Facade::__callStatic('send', array('auth.emails.register', array('data' => array('name' => 'aaaaa', 'email' => '[email protected]', 'confirm_token' => 'x5nSRdqgPApFWUvwKtwdzwT64IKpfX0IHjqm7zjwfDYEhCSGPixJyNky2XU5')), object(Closure))) in AuthController.php line 84
at Mail::send('auth.emails.register', array('data' => array('name' => 'aaaaa', 'email' => '[email protected]', 'confirm_token' => 'x5nSRdqgPApFbHWqszKtwdzwT64IKpfX0IHjqm7zjwfDYEhCSGPixJyNky2XU5')), object(Closure))
in AuthController.php line 84
Her ihtimale karşı, Tam Kontrolörü ekliyorum:
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Http\Request;
use Mail;
use Auth;
use Illuminate\Support\Facades\Input;
class AuthController extends Controller
{
/*
use AuthenticatesAndRegistersUsers;
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'getLogout']);
}
public function postRegister(Request $request){
$rules = [
'name' => 'required|min:3|max:16|regex:/^[a-záéíóúàèìòùäëïöüñ\s]+$/i',
'email' => 'required|email|max:255|unique:users,email',
'password' => 'required|min:6|max:18|confirmed',
];
$messages = [
'name.required' => 'This field is required',
];
$validator = Validator::make($request->all(), $rules, $messages);
if ($validator->fails()){
return redirect("auth/register")
->withErrors($validator)
->withInput();
}
else{
$user = new User;
$data['name'] = $user->name = $request->name;
$data['email'] = $user->email = $request->email;
$user->password = bcrypt($request->password);
$user->remember_token = str_random(100);
$data['confirm_token'] = $user->confirm_token = str_random(100);
$user->save();
Mail::send('auth.emails.register', ['data' => $data ], function($mail) use($data) {
$mail->from('[email protected]', 'Your Application');
$mail->subject('Confirm your mail');
$mail->to($data['email'], $data['name']);
});
return redirect("auth/register")
->with("message", "A confirmation link has been sent to your email");
}
}
public function confirmRegister($email, $confirm_token)
{
$user = new User;
$the_user = $user->select()->where('email', '=', $email)
->where('confirm_token', '=', $confirm_token)
->get();
if (count($the_user) > 0)
{
$active = 1;
$confirm_token = str_random(100);
$user ->where('email', '=', $email)
->update(['active' => $active, 'confirm_token' => $confirm_token]);
return redirect('auth/register')
->with("message", 'Congrats'. $the_user[0]['name'] . 'account activated');
}
else{
return redirect('/');
}
}
public function postLogin(Request $request){
if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password'), 'active' => 1])) {
return redirect()->intended($this->redirectPath());
}
else{
$rules = [
'email' => 'required|email',
'password' => 'required',
];
$messages = [
'email.required' => 'El campo email es requerido',
'email.email' => 'El formato de email es incorrecto',
'password.required' => 'El campo password es requerido',
];
$validator = Validator::make($request->all(), $rules, $messages);
return redirect('auth/login')
->withErrors($validator)
->withInput()
->with('message', 'Error al iniciar sesión');
}
}
}