我正在尝试在Laravel 5.4中发送电子邮件,但始终收到错误消息“ 500内部服务器错误”
我想使用AJAX请求将电子邮件发送到控制器,然后从那里发送我想要的电子邮件。
这是我的.env文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=abdul.elah.js@gmail.com
MAIL_PASSWORD="My Email Password"
MAIL_ENCRYPTION=tls
我的ajax请求
$('#form').on('submit', function(e) {
e.preventDefault();
e.stopPropagation();
let data = $('#form').serialize();
let name = $('input[name=name]').val();
let phone = $('input[name=phone]').val();
let message = $('textarea[name=message]').val();
$.post('/create', data, function(data, textStatus, xhr) {
console.log(textStatus);
if (data.lang == '/en') {
$('.notification').css('left', '15px');
window.setTimeout(function() {
$('.notification').css('left', '-350px');
}, 5000);
} else {
$('.notification').css('right', '15px');
window.setTimeout(function() {
$('.notification').css('right', '-350px');
}, 5000);
}
$("input[name=name]").val('');
$("input[name=phone]").val('');
$("textarea[name=message]").val('');
});
})
我的web.php
Route::post('create', 'EnquiryController@send');
我的EnquiryController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Response;
use \App\Mail\Enquiry;
use Mail;
class EnquiryController extends Controller
{
public function send() {
// I tried this way and didn't work so i tried the one beneath
// Mail::to('abdul.elah.js@gmail.com')->send('emails.enquiry');
Mail::send('emails.enquiry', [], function($message) {
$message->to('abdul.elah.js@gmail.com')->subject('Test');
$message->from('abdul.elah.js@gmail.com', 'Abdul Elah');
});
return response()->json([ 'message' => 'Message Sent Successfully' ]);
}
}
我在<h1> Hello World </h1>
中有一个带有resources/views/emails/enquiry.blade.php
的简单html。
我的问题是浏览器不断记录500错误,而没有任何可能对调试有用的数据。
答案 0 :(得分:1)
问题很简单,我没有重新启动服务器,猜测我在编辑.env文件后必须这样做