• laravel发送email


     在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在Laravel框架中实现发送邮件功能,以后会陆续更上如何实现短信验证.....  

          

          

    在.env文件下

     1.配置Laravel文件

         MAIL_DRIVER=smtp  //建议使用smtp方式

         MAIL_HOST=smtp.163.com  //建议使用163邮箱 QQ邮箱会有报错

         MAIL_PORT=25        //smtp 默认为25   

         MAIL_USERNAME=null   //自己的163帐号

         MAIL_PASSWORD=null //客户端密码

         MAIL_ENCRYPTION=null

    .

    2.修改config/email.php文件中的 

                'from' => ['address' => null, 'name' => null],   //手册上未提示,但实际应用中  如果为addredd=>null则报错,需要天写自己的163地址

    3. 注册163的邮箱并进行邮箱帐号设置  POP3/SMTP/IMAP都要开启   并开启授权码并进行手机验证

            

    4.参照Laravel手册里的邮件发送

                    必须注意的是  在控制器引用邮件发送时  必须首先引用use  Mail

        ​    ​    ​    ​发送邮件测试

        ​    ​    ​    ​在路由里设置 

          

        ​    ​    ​    ​在控制器中写入方法

                    

        ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​其中

        ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​1:Mail::raw  是发送原生数据,其他的内容发送方式在手册里都有提供;

        ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​2.$message->subjuet('');是文件的标题

        ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​    ​3.$message->to();发送给谁

        ​    ​    ​

    这是一份在 $message 消息生成器实例中可以使用的方法清单:

    $message->from($address, $name = null);
    $message->sender($address, $name = null);
    $message->to($address, $name = null);
    $message->cc($address, $name = null);//抄送
    $message->bcc($address, $name = null);
    $message->replyTo($address, $name = null);
    $message->subject($subject);
    $message->priority($level);
    $message->attach($pathToFile, array $options = []);
    
    // 以原始 $data 字符串附加一个文件...
    $message->attachData($data, $name, array $options = []);
    
    // 获取底层的 SwiftMailer 消息实例...
    $message->getSwiftMessage();
    public function send(){ 
        $image = Storage::get('images/obama.jpg'); //本地文件
        //$image = 'http://www.baidu.com/sousuo/pic/sdaadar24545ssqq22.jpg';//网上图片
        Mail::send('emails.test',['image'=>$image],function($message){ 
            $to = '123456789@qq.com';
            $message->to($to)->subject('图片测试'); 
        }); 
        if(count(Mail::failures()) < 1){
         echo '发送邮件成功,请查收!'; 
        }else{
         echo '发送邮件失败,请重试!';
        } 
    }
    
  • 相关阅读:
    Windows上使用“LogView”打开大文件
    windows CMD命令查看局域网内所有主机名及IP
    解决Sqlserver 2008 R2在创建登录名出错"此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项。 (Microsoft SQL Server,错误: 15195)"
    解决 ASP.NET 编辑错误"CS0006: 未能找到元数据文件C:WINDOWSassemblyGAC_32System.EnterpriseServices2.0.0.0__b03f5f7f11d50a3aSystem.EnterpriseServices.dll"
    ASP 未结束的字符串常量
    Godaddy ssl续费更新问题总结
    [转]How to query posts filtered by custom field values
    SqlServer 在查询结果中如何过滤掉重复数据
    [UE4]C++的const类成员函数
    [UE4]C++三种继承方式
  • 原文地址:https://www.cnblogs.com/hanmengya/p/10931892.html
Copyright © 2020-2023  润新知