zoukankan      html  css  js  c++  java
  • laravel 使用QQ邮箱发送邮件

    laravel version: 5.4.*

    准备

    使用QQ邮箱必须打开smtp/pop3等几个服务,开启服务可能需要验证

    7942449-2315f106a80fe0f0.png
    email.png

    开启服务后需要生成验证码,等会有用

    7942449-105156784ab0682a.png
    email2.png

    配置

    配置文件: /config/mail.php 找到 from 则一项,其他默认就好

     'from' => [
            //  'your_account@qq.com' 此处填写你发送邮件的账号
            'address' => env('MAIL_FROM_ADDRESS', 'your_account@qq.com'),
            'name' => env('MAIL_FROM_NAME', 'laravel测试学习'),
    ],
    

    配置 .env 文件

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.qq.com
    MAIL_PORT=465
    MAIL_USERNAME=your_account@qq.com
    MAIL_PASSWORD=gzwwibkmqakdjead
    MAIL_ENCRYPTION=SSL
    
    • :这里配置的 MAIL_USERNAME 是你的邮箱地址, MAIL_PASSWORD 不是你的邮箱密码而是之前生成的随机 验证码 直接复制我的没有用,必须是自己真是的账号真实生成的

    发送

    发送纯文本格式邮件

    namespace AppHttpControllers;
    use IlluminateHttpRequest;
    use Mail;
    
    class TestController extends Controller{
        public function sendEmail () {
            Mail::raw("这是测试的内容", function ($message){
                // * 如果你已经设置过, mail.php中的from参数项,可以不用使用这个方法,直接发送
                // $message->from("1182468610@qq.com", "laravel学习测试");
                $message->subject("测试的邮件主题");
                // 指定发送到哪个邮箱账号
                $message->to("3233824562@qq.com");
            });
    
            // 判断邮件是否发送失败
           if(count(Mail::failures())) {
                return '邮件发送失败';
            }
    
        }
    }
    

    发送html格式邮件

    • 在发送HTML格式的邮件之前,你需要先设置个发送的模板
    • resource/view 新建一个 blade 模板文件,内容可以根据个人喜好去设置
    <h1>hello {{$name}}, 这是我在学习laravel时给你发送的邮件!! ^_^</h1>
    
    • 控制器中代码
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    use Mail;
    
    class TestController extends Controller{
        public function sendEmail () {
            /**
             * email: 指定模板,模板位于 resources/views/email.blade.php
             * ['name'=>'Alex']: 指定模板中的参数
             */
            Mail::send('email',['name'=>'Alex'], function($email) {
                $email->subject("laravel学习与测试");
                $email->to("3233824562@qq.com");
            });
    
        }
    }
    

    在发送的过程中不建议频繁发送到一个账号,否则会被腾讯自动标记为垃圾邮件就会报错, 如果需要测试,可以将这个发送邮件的账号设置到白名单中..

    7942449-c05734dec09d88dc.png
    email3.png

    其实laravel不仅仅能够发送html格式的还能发送 markdown 格式的邮件,这个如果有兴趣就自己去学习吧 ^_^

    相关资料

    https://laravel-china.org/docs/laravel/5.5/mail/1321

  • 相关阅读:
    what's the python之异常处理
    what's the python之面向对象(进阶)
    what's the python之面向对象
    what's the python之自定义模块和包
    Java并发编程-并发工具包(java.util.concurrent)使用指南(全)
    Java之JUC系列:外部Tools
    java CS结构软件自动升级的实现
    史上最全最强SpringMVC详细示例实战教程
    搭建最简单的SpringMVC框架(使用maven)
    小心对待query_cache_size
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581640.html
Copyright © 2011-2022 走看看