我想在我的Laravel项目中进行在线预约。为此我已经为约会生成了一个邮件功能。这个邮件功能在xammp服务器中工作....但不在实时服务器中。
尝试发送邮件时出现此错误
GET http://sencare.com.bd/sencare.com.bd/confirm_appointment?patient_name=test&patient_number=01654&patient_email=rahmanarafat13%40gmail.com&patient_age=8&patient_gender=1&service_id=6&schedule_time_id=1&date=+2018-03-27 500 (Internal Server Error)
send @ jquery-2.1.4.min.js:4
ajax @ jquery-2.1.4.min.js:4
n.(anonymous function) @ jquery-2.1.4.min.js:4
(anonymous) @ (index):2029
dispatch @ jquery-2.1.4.min.js:3
r.handle @ jquery-2.1.4.min.js:3
控制器内的邮件功能代码
public function sendMail($emailDataArray)
{
\Mail::send('frontend.mail.demo', $emailDataArray, function($message) use ($emailDataArray)
{
$message->to($emailDataArray['patient_email'], 'Test')->subject('APPOINTMENT');
});
}
此处$emailDataArray
是一个包含from,to和其他数据的数组。
有任何错误吗?
答案 0 :(得分:1)
如果您在尝试预约时打开“网络”标签并查看响应错误,则会收到错误'Connection could not be established with host smtp.gmail.com'
。
这很可能是由于未正确设置邮件服务。确保.env
集
config/mail.php
变量和详细信息
答案 1 :(得分:0)
只需将SMTP详细信息放入.env
文件中,然后再试一次。
MAIL_DRIVER=smtp
MAIL_HOST=mail.mailhost.com
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
答案 2 :(得分:0)
解决了这个问题。
只需将.env
文件中的驱动程序名称从smtp
更改为sendmail
'driver' => 'sendmail',