legend3---lavarel中使用qq邮箱发送邮件

一、总结

一句话总结:

第一步:配置邮箱做服务器,比如qq邮箱,网易163邮箱
第二步:配置lavarel的配置文件
第三部:写邮件发送代码就去看lavarel的手册,很详细

1、在qq邮箱中配置IMAP/SMTP服务的时候的授权码的作用是什么?

方便第三方登录:在lavarel中使用邮箱用户名加授权码登录以便发送邮件

2、lavarel中的mail源文件的位置在哪?

vendor的lavavel里面:legend3\vendor\laravel\framework\src\Illuminate\Mail\Mailer.php

3、lavarel中发送邮件的方法主要是什么方法?

send方法:\Mail::send('mail.reg',[],function ($message){
    //发送邮件public functionsend_email(){\Mail::send('mail.reg',[],function ($message){$message->to('404006308@qq.com');$message->subject('亲爱的用户,恭喜您注册成功');});}

二、lavarel中使用qq邮箱发送邮件

第一步:配置邮箱做服务器,比如qq邮箱

在邮箱设置开启POP3/SMTP服务和IMAP/SMTP服务

会让你发送短信验证,然后给你授权码(在lavarel中配置需要)

(这张是用的别人的图片)

第二步:配置lavarel的配置文件

配置.env

配置config中的mail

第三部:写邮件发送代码就去看lavarel的手册,很详细

最简单的发送代码

    //发送邮件public functionsend_email(){\Mail::raw('邮件测试',function ($message){$message->to('404006308@qq.com');});}

成功实例

带上主题

    //发送邮件public functionsend_email(){\Mail::raw('邮件测试',function ($message){$message->to('404006308@qq.com');$message->subject('亲爱的用户,恭喜您注册成功');});}

5、发送视图代码及实例

send方法

    //发送邮件public functionsend_email(){\Mail::send('mail.reg',[],function ($message){$message->to('404006308@qq.com');$message->subject('亲爱的用户,恭喜您注册成功');});}

视图位置

视图代码

{{--用户注册发送邮件的模板视图--}}<!doctype html>
<htmllang="en">
<head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>Document</title>
</head>
<body><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1><h1>1</h1>
</body>
</html>

收到的邮件结果

二、Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

转自或参考:Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
https://blog.csdn.net/woqianduo/article/details/81024244

生成控制器

php artisan make::controller MailController

配置路由

Route::any('mail/send','MailController@send');

在app/Http/Controllers生成了一个MailController控制器,如下所示:

<?php namespace App\Http\Controllers; use App\Http\Requests; class MailController extends Controller { //}

编辑上面控制器,加入以下的逻辑处理:

use Mail;
class MailController{ public function send() {$name = '我发的第一份邮件'; // Mail::send()的返回值为空,所以可以其他方法进行判断Mail::send('emails.test',['name'=>$name],function($message){ $to = '123456789@qq.com'; $message ->to($to)->subject('邮件测试'); }); // 返回的一个错误数组,利用此可以判断是否发送成功dd(Mail::failures());}
} 

Mail::send();需要传三个参数,第一个为引用的模板,第二个为给模板传递的变量(邮箱发送的文本内容),第三个为一个闭包,参数绑定Mail类的一个实例。

在resources/emails下创建一个模板文件。

{{$name}}hello world。

好,现在在服务器上进行测试了,在地址栏输入http://localhost/mail/send(自己的访问地址),发送成功。

1. 发送纯文本邮件

Mail::raw('你好,我是PHP程序!', function ($message) {$to = '123456789@qq.com';$message ->to($to)->subject('纯文本信息邮件测试');
});

2.邮件中发送附件

发生图片:

{{$name}},这是一封测试邮件
<br>
<img src="{{$message->embedData($image,'test.jpg')}}">
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 '发送邮件失败,请重试!';}
}

3. 邮件附件

public function sendFile(){ $name = '我发的第一份邮件'; Mail::send('emails.test',['name'=>$name],function($message){ $to = '123456789@qq.com';$message->to($to)->subject('邮件测试'); $attachment = storage_path('xls/files/test.xls');// 在邮件中上传附件$message->attach($attachment,['as'=>'中文文档.xls']); });
} 

$message的attach方法上传附件,该方法第一个参数是附件地址,第二个参数为一些额外参数,这里我们通过as指定附件在邮件中的显示名称。

测试如果显示文件名乱码的话,就这样写

$message->attach($attachment,['as'=>"=?UTF-8?B?".base64_encode('中文文档')."?=.xls"]);

-

转载于:https://www.cnblogs.com/Renyi-Fan/p/11478389.html

legend3---lavarel中使用qq邮箱发送邮件相关推荐

  1. SpringBoot中使用qq邮箱发送邮件

    pom.xml文件添加依赖 <!--邮箱验证--><dependency><groupId>org.springframework.boot</groupId ...

  2. 仿联想商城laravel实战---7、lavarel中如何给用户发送邮件

    仿联想商城laravel实战---7.lavarel中如何给用户发送邮件 一.总结 一句话总结: 设置邮件服务器,比如163邮箱 lavarel中配置邮件服务,在.env中 控制器中使用Mail对象发 ...

  3. java发送qq邮箱不成功_java,_使用QQ邮箱发送邮件遇到的问题,java - phpStudy

    使用QQ邮箱发送邮件遇到的问题 代码是在网上抄的别人今年写的,但是我运行起来一直报错,也不知道什么原因,请大神帮忙指点一下::谢谢!!! 以下是我的代码 public class Sendmail8 ...

  4. python3利用smtplib通过qq邮箱发送邮件

    前言 本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容, smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片, ...

  5. php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现

    这篇文章主要介绍了关于PHP 利用QQ邮箱发送邮件的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 ...

  6. Java基于JavaMail实现向QQ邮箱发送邮件遇到的问题

    最近使用Java基于JavaMail实现向QQ邮箱发送邮件老是发送失败,在网上搜了下,终于找到原因,记录下. 参考:http://www.jb51.net/article/78405.htm 网上还有 ...

  7. Java mail使用QQ邮箱发送邮件配置方案

    Java mail使用QQ邮箱发送邮件配置方案 java mail配置了QQ邮箱作为服务器发送邮件,结果导致出现503异常: Authentication failed; nested excepti ...

  8. python 用QQ邮箱发送邮件

    SMTP 是发送邮件的协议.Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮箱. Python对SMTP支持有smtplib 和email 两个模块,email负责构造 ...

  9. python脚本实现qq邮箱发送邮件

    直接调用python自带得smtplib 库和 email 库就能实现邮件的发送 qq邮箱发送邮件需要在qq邮箱中设置开启qq邮箱授权码 进入网页版qq邮箱,点击设置,找到账户设置 下拉到最下面 生成 ...

最新文章

  1. 数据结构算法 简单的面试思考题
  2. ASP.NET基础教程-DataTable类对象-属性方法和事件
  3. 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
  4. 【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )
  5. dicom多帧转换_Python解析多帧dicom数据详解
  6. c++新特性11 (11)unique_ptr
  7. 由于更换了java版本,Eclipse启动时报错:JRE or JDK must be available in order to run Eclipse
  8. 如何解决ABBYY FineReader中表格检测不到问题
  9. (八)限定某个目录禁止解析php、限制user_agent和PHP相关配置
  10. 生产三码 黑苹果_黑苹果OC配置工具:OpenCore Configurator v2.15.2.0
  11. C#学习记录3上——类的封装,继承,多态
  12. 覆盖php扩展后服务挂了,PHP 扩展管理
  13. springboot分页展示功能_SpringBoot实战项目(三)用户列表以及分页功能实现
  14. spring扩展点四:SmartInitializingSingleton 补充
  15. 数字三角形、数塔问题(DP)
  16. 英语词根词缀记忆法(全集)_【干货又来啦】中考英语词汇速记,你也会说 so easy啦...
  17. 短网址还原 php,php怎么实现短网址还原
  18. 论“蹭热点”,我只服“杜蕾斯”,盘点“杜蕾斯官方”曾蹭过的十大热点!
  19. 单机搭建Nacos集群
  20. 递归牛顿欧拉(正/逆)动力学仿真

热门文章

  1. Node 抓取非utf-8编码页面
  2. 修改AspNetSqlMembershipProvider的密码规则
  3. 求数组中的最大数,最小数。
  4. WebConfig的经典使用,大家一起交流一下吧!!!
  5. ubuntu 安装Gogland
  6. a Line Segment Detector
  7. wordpress 分类使用不同的模版
  8. 代码组织和部署 文件操作 node.js
  9. 康力优蓝发布新品:让AI教育从概念变成现实!
  10. Flutter Beta 3 新特性概览