配置 .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

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Mail;
  5. use Illuminate\Support\Facades\Storage;
  6. class MailController extends Controller{
  7. public function send() {
  8. // $name = '我发的第一份邮件lurr';
  9. // // Mail::send()的返回值为空,所以可以其他方法进行判断
  10. // Mail::send('emails.send',['name'=>$name],function($message){
  11. // $to = 'huang_hoo@163.com';
  12. // $message ->to($to)->subject('邮件测试');
  13. // });
  14. // // 返回的一个错误数组,利用此可以判断是否发送成功
  15. // dd(Mail::failures());
  16. $name = '我发的第一份邮件';
  17. // return response()->file("images/up.jpg");
  18. // $image = 'https://scpic.chinaz.net/files/pic/pic9/202203/apic39926.jpg';//网上图片
  19. $image = Storage::get('public/images/up.jpg'); //本地文件
  20. Mail::send('emails.send',['name'=>$name,'image'=>$image],function($message){
  21. $to = 'huang_hoo@163.com';
  22. $message->to($to)->subject('图片测试');
  23. });
  24. if(count(Mail::failures()) < 1){
  25. echo '发送邮件成功,请查收!';
  26. }else{
  27. echo '发送邮件失败,请重试!';
  28. }
  29. }
  30. }

邮件模板(展示效果)

文字展示和图片展示

<!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');

发送效果

image.png
image.png