jaly 发表于 2018-10-30 12:08:53

Laravel 使用腾讯企业邮箱的 smtp 发送邮件

.envMAIL_DRIVER=smtp
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=465
MAIL_SENDER=盘点系统
MAIL_USERNAME=janku@yitens.net
MAIL_PASSWORD=******
MAIL_ENCRYPTION=sslconfig/mail.php'from' => ['address' => env('MAIL_USERNAME', null), 'name' => env('MAIL_SENDER', null)],模板邮件
【注】:模板必须以.blade.php结尾,不然映射不了值# test.blade.php
延河 {{$name}} this is a test mail!

# *Controller.php
$name = '王宝花'; // Mail::send()的返回值为空,所以可以其他方法进行判断
$flag = Mail::send('inventory.test',['name'=>$name],function($message){
    $to = 'kf@yitens.net';
    $message ->to($to)->subject('邮件测试');
});
if($flag){
    echo '发送邮件成功,请查收!';
}else{
    echo '发送邮件失败,请重试!';
}发送纯文本邮件Mail::raw('你好,我是PHP程序!', function ($m) {
    $to = 'kf@yitens.net';
    //$m->from('janku@yitens.net', 'User');
    $m ->to($to)->cc('janku@yitens.net')->subject('纯文本信息邮件测试'); //cc() 是抄送
});邮件中发送附件# test.blade.php
{{$name}}你好,这是一封测试文件。
<br>
<img src='{{$message->embed($image)}}'>

# *Controller.php
$name = '王宝花';
$image = 'http://d.hiphotos.baidu.com/zhidao/pic/item/1ad5ad6eddc451da4ab93e2bb0fd5266d11632a6.jpg';
Mail::send('emails.test',['name'=>$name,'imgPath'=>$image],function($message){
    $to = 'kf@yitens.net';
    $message ->to($to)->subject('网络图片测试');
});
if(count(Mail::failures()) < 1){ // 返回的一个错误数组,利用此可以判断是否发送成功
    echo '发送邮件成功,请查收!';
}else{
    echo '发送邮件失败,请重试!';
}本地图片# test.blade.php
{{$name}},这是一封测试邮件
<br>
<img src="{{$message->embedData($image,'我的自拍照.jpg')}}">

# *Controller.php
$image = Storage::get('images/obama.jpg');
Mail::send('emails.test',['image'=>$image],function($message){
    $to = 'kf@yitens.net';
    $message->to($to)->subject('[本地图片测试]');
});
if(count(Mail::failures()) < 1){
    echo '发送邮件成功,请查收!';
}else{
    echo '发送邮件失败,请重试!';
}邮件附件$name = '王宝花';
Mail::send('emails.test',['name'=>$name],function($message){
    $to = 'kf@yitens.net';
    $message->to($to)->subject('邮件主题');
    $attachment = storage_path('app/files/test.txt'); // 在邮件中上传附件
    $message->attach($attachment,['as'=>'中文文档.txt']);
    //$message->attach($attachment,['as'=>"=?UTF-8?B?".base64_encode('中文文档')."?=.txt"]);
});
页: [1]
查看完整版本: Laravel 使用腾讯企业邮箱的 smtp 发送邮件