配置 .env文件
MAIL_MAILER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_USERNAME=1695314914@qq.com
MAIL_PASSWORD=qdytmgqmghijdhgc(QQ邮箱登录=>选择设置=>账户)
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=1695314914@qq.com
MAIL_FROM_NAME=”${APP_NAME}”
创建控制器
可以发文本,发图片,图片分为本地图片和网络图片。
本地图片方法:Storage::get('public/images/up.jpg'); //本地文件storage/app/public/images/up.jpg
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Storage;
class MailController extends Controller{
public function send() {
// $name = '我发的第一份邮件lurr';
// // Mail::send()的返回值为空,所以可以其他方法进行判断
// Mail::send('emails.send',['name'=>$name],function($message){
// $to = 'huang_hoo@163.com';
// $message ->to($to)->subject('邮件测试');
// });
// // 返回的一个错误数组,利用此可以判断是否发送成功
// dd(Mail::failures());
$name = '我发的第一份邮件';
// return response()->file("images/up.jpg");
// $image = 'https://scpic.chinaz.net/files/pic/pic9/202203/apic39926.jpg';//网上图片
$image = Storage::get('public/images/up.jpg'); //本地文件
Mail::send('emails.send',['name'=>$name,'image'=>$image],function($message){
$to = 'huang_hoo@163.com';
$message->to($to)->subject('图片测试');
});
if(count(Mail::failures()) < 1){
echo '发送邮件成功,请查收!';
}else{
echo '发送邮件失败,请重试!';
}
}
}
邮件模板(展示效果)
文字展示和图片展示
<!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>
{{ $name }} hello world。
<br>
{{-- 本地图片 --}}
<img src="{{$message->embedData($image,'demo.jpg')}}">
{{-- 网络图片--}}
{{-- <img src="{{$image}}">--}}
</body>
</html>
配置路由
Route::get('mail/send','MailController@send');