Laravel-SMTP邮件发送详解

很多人都写过我之前都用过但是每次需要配置的时候 还是会忘掉

所以索性就写下来我会尽量写的详细一点算给自己一个记录   如果能给大家帮助的最好不过了

#1.首先你要有一个开通了POP3和SMTP服务 的邮箱

找到你公司或者你自己准备用来发送信息的邮箱,开始设置

QQ邮箱的开启设置

>设置->账户(然后向下滑)


腾讯企业邮箱开启设置

>设置->客户端设置(下滑)


2.将你的账号密码配置到你的laravel项目内

在项目的根目录下(同app文件夹同级)有一个文件.env


同样的信息在config文件下的mail.php内也可以配置 不过大多数都会放在env内

所以确认下你的mail确实取得是env值就可以了env('MAIL_USERNAME')类似这样

详细说下这几个都要填什么

MAIL_USERNAMEMAIL_PASSWORD 配置上即可

感兴趣的可以看下每个的配置

MAIL_DRIVER:是邮件发送的驱动,smtp用的最多其他的可能涉及到收费

MAIL_HOST:邮箱所在主机,163邮箱使用smtp.163.com ;QQ邮箱使用smtp.qq.com

MAIL_PORT:配置邮箱发送服务端口号 一般默认25 但是如果使用了ssl加密 改为465

MAIL_ENCRYPTION:表示加密类型 可以为null表示不使用 也可以用ssl 需要更改端口号

3.邮件发送的类

不知道你们的项目里有没有这个邮件类,可以自己对照下



如果有Mail文件下的这个文件 就不需要自己在生成,没有的话执行下    php artisan make:mail OrderShipped   会生成

 这个文件内东西都可以不做修改,也可能是我自己写的没需要到修改吧

                                 

4.开始写代码进行邮件的发送(路由控制器我会省略,直接写邮件发送相关代码)

1.首先保证在你的控制器内引入Mail 文件,也就是use Mail  



具体文件不同引入的路径不同,所以不一定是和我的一模一样

2.实现一个最简单的邮件发送,无标题无内容



只需要保证在views文件夹下有一个email的模板文件即可

$data 就是传输的广告页面,需要

cc是抄送给某人的意思,最底部有详细的介绍

$data 就是传输的广告页面,如果要在邮件展示需要在模板视图(也就是email里做一些展示)


下面是一个发文件附件的例子


$message->to  添加的是收信人的电子邮件

多个邮箱接收:$message->to(array('[email protected]','[email protected]'));

$message->from  从哪里发出的邮件

$message->cc 抄送给某人,也可以理解为给两个人发

$message->subject 邮件名称

$message->attach   如图 添加文件地址  发送附件

你可能感兴趣的:(Laravel-SMTP邮件发送详解)