hanmengya

 在经过一段时间的使用后,发现在项目中很多地方需要用到用户验证,以短信验证和邮箱验证为主流趋势,小麦总结了如果在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 \'发送邮件失败,请重试!\';
    } 
}

分类:

技术点:

相关文章:

  • 2021-05-24
  • 2021-09-17
  • 2021-10-16
  • 2021-12-24
  • 2021-12-04
  • 2022-12-23
  • 2021-09-05
猜你喜欢
  • 2021-09-07
  • 2021-08-21
  • 2021-11-03
  • 2021-10-07
  • 2021-06-14
相关资源
相似解决方案