Laravel发送邮件

这是观看慕课网的教学视频然后写的一篇笔记
视频源链接在此:

介绍Laravel系统自带的邮件功能(SwiftMailer):

Laravel的邮件功能基于SwiftMailer函数库之上,提供了一个简洁的API
Laracel为SMTP、Mailgun、Manddrill、Amazon SES、PHP 的mail函数、以及sendmail提供了驱动从而允许你快速通过本地货运服务发送邮件

在代码中具体操作步骤:

1、邮件配置文件:config/mail.php
修改配置文件中的发件人信息,包括发件人的邮箱地址和发件人名称,这里使用的163邮箱
 'from' => [
        'address'=>'xxxx@163.com',
        'name'=>'xxxx'
    ],
2、修改.env文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=xxxx@163.com
MAIL_PASSWORD=xxxxxxx     //163邮箱开启smtp 的授权码
MAIL_ENCRYPTION=ssl
附:163邮箱开启smtp的授权码
登陆进去163邮箱,进入设置,进入POP3/SMTP/IMAP

勾选开启POP3/SMTP服务,勾选之后选择“确认”,点击“开启”,获取短信验证码之后,就可以设置授权码了。记住这个授权码,然后填到.env文件中 MAIL_PASSWORD=xxxxxxx


3、在Controller中写邮件发送内容(包括发件人地址,名称;邮件主题;接收人邮箱地址)要与上面设置的一致
//发送纯文本
public  function mail(){
    \Mail::raw("邮件内容",function ($message){
        $message->from('xxxx@163.com','xxx');
        $message->subject('邮件主题');
        $message->to('xxxx@qq.com');
    });
}

//发送模板文件
首先在resources/views/file/mail.blade.php
比如
<h1> Hello {{$name}}</h1>
自己可以编写更合适自己更加复杂的模板

重写mail方法
public  function mail(){
    \Mail::send('file.mail',['name'=>'Mailer Taylor'],function ($message){
        $message->to('xxxx@qq.com');
    });
    return 'send mail success';
}

4、在routes/api.php中添加路由
Route::any('/biz/mail', 'EmailController@mail');

如果报以下530错误
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required
解决方法:
(1)去掉主题和内容中的“测试”或者“test”这些字眼,因为会被判断为垃圾邮件
(2)重启服务,再次访问路由,就可以收到邮件了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值