【发布时间】:2017-05-31 06:38:37
【问题描述】:
我一切正常..在 localhost 中工作..邮件从 localhost 发送...但是当我将其上传到服务器时,邮件没有发送,也没有抛出异常...这是我的 . env文件代码
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=mygmail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
这是我的控制器代码
protected function create(array $data)
{
//dd($data);
$models = new User;
$user=User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
/*'usertype' =>$data['usertype'],*/
'status' => 0,
]);
$use = array('name' => 'Admin');
//$models->emailw = Auth::user()->email;
$message_id = "";
$name = "";
Mail::send('emailMessage', $use, function ($m) use ($message_id,$name){
$message_id = DB::getPdo()->lastInsertId();
$name = DB::table('users')->select('name')->where('id','=', $message_id)->pluck('name');
//$email = DB::table('users')->select('email')->where('id','=', $message_id)->pluck('email');
$subject = "Id = ". $message_id . " name = " .$name[0];
$m->to('mrbbangladesh2017@gmail.com')
->subject($subject);
});
return $user;
}
这是我的 mail.php 代码
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => [
'address' => 'admin@mrbglobalbd.com',
'name' => 'Admin',
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
];
我需要在这里改变什么?
【问题讨论】:
-
您是否检查过您的托管邮件端口没有被防火墙阻止 (
port587)? -
更改端口号。到“465”
-
@KuKeC 端口已打开 @K arun 尝试了此端口仍然无法正常工作
-
在邮件函数被调用后调用
print_r(error_get_last()),看看你有什么错误。或者尝试使用MAIL_DRIVER=sendmail而不是MAIL_DRIVER=smtp -
对于
sendmail我应该使用什么端口? @KuKeC
标签: php laravel email server laravel-5.3