Merhabalar. Projemde admin kullanıcıyı aktif ettiğinde kullanıcıya bildirim maili gitmesini istiyorum üyeliğiniz aktif edilmiştir diye. Statusu ajax ile gerçekleştiriyorum. Ajax da success olduğunda bir ajax işlemi daha daha yapmaya çalışıyorum fakat 500 (Internal Server Error) hatası alıyorum. Bu konuda yardımcı olur musunuz nasıl yapmam gerektiği konusunda. Kodda nerede sıkıntı var çözemedim.
Route:
`Route::post('/acente/sendMail', [\App\Http\Controllers\Admin\AdminController::class, 'acenteSendMail'])
->name('admin.acente.sendMail');`
Status aktif edilmesi ve mail ajax işlemim;
`$(document).ready(function () {
$('.changeStatus').click(function () {
let id = $(this).data('id');
let self = $(this);
$.ajax({
url: "{{ route('admin.acente.changeStatus') }}",
type: "POST",
async: false,
data: {
id: id
},
success: function (response) {
if (response.acente_status == 1) {
self[0].innerText = 'Active';
self.removeClass('btn-danger');
self.addClass('btn-success');
var email = document.getElementById('email').data;
console.log(email);
$.ajax({
url: "{{ route('admin.acente.sendMail') }}",
type: "POST",
async: false,
data: {
email:email,
_token: '{{csrf_token()}}'
},
success: function (response) {
console.log(response);
alert('mail gönerildi');
},
error: function () {
}
})
} else if (response.acente_status == 0 || response.acente_status == null) {
self[0].innerText = 'Pending';
self.removeClass('btn-success');
self.addClass('btn-danger');
}
//location.reload(true);
},
error: function () {
}
})
});`
Controller;
`public function acenteSendMail(Request $request)
{
$email = $request->email;
$findAcente = \App\Models\User::find($email);
$to_name = $findAcente->name;
$to_email = $findAcente->email;
Mail::send("mail.acente-welcome", ["findAcente" => $findAcente], function ($message) use ($to_name, $to_email) {
$message->to($to_email, $to_name)->subject("welcome acente");
});
return response()->json([
'success' => 'Mail Send',
], 200);
}`
mail.acente-welcome view;
`<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
Welcome - - Acente
</body>
</html>`
env dosyası içeriği mail ayarları şu şekilde;
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com
MAIL_PASSWORD=********
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"