Laravel5利用163邮箱实现发送邮件mail功能

41 篇文章 5 订阅

如果在后台用户管理加一个发送邮件的功能,相对来说联系用户就很方便了,所以自己打算研究一下mail邮件的发送。在网上找了很多例子,发现都无法实现,我将使用163邮箱做邮件发送,需登录163邮箱开启POP3和SMTP服务,以及生成授权密码,在.env进行配置

MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=你的163邮箱地址
MAIL_PASSWORD=你的163邮箱地址对应的授权密码(不是登录密码)
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=你的163邮箱地址
MAIL_FROM_NAME=发送邮件使用的用户名
  • driver用于配置默认的邮件发送驱动,我们用SMTP(Simple Message Transfer Protocol)简单邮件传输协议
  • host是邮箱所在主机,比如我们使用163邮箱,对应值是smtp.163.com,使用QQ邮箱的话,对应值是smtp.qq.com
  • port用于配置邮箱发送服务端口号,比如一般默认值是25,但如果设置SMTP使用SSL加密,该值为465
  • username表示邮箱账号
  • password表示上述邮箱对应的授权密码
  • encryption表示加密类型,可以设置为null表示不使用任何加密,也可以设置为tls或ssl。
  • from配置项包含address和name,前者表示发送邮箱,后者表示发送邮件使用的用户名。

使用163邮箱做的发送,需登录163邮箱开启POP3和SMTP服务,以及生成授权密码。

 点击下面的客户端授权密码进行设置,这里我已经设置好了

路由定义

Route::post('/users/sms_email','UsersController@sendEmail');

控制器代码(发送纯文本邮件)

MAIL_FROM_ADDRESS、MAIL_FROM_NAME需要在env进行设置否则发送邮件失败

    public function sendEmail(Request $request)
    {
        // 获取邮箱标题
        $title = $request->input('title');
        // 获取邮箱内容
        $content = $request->input('content');

        $toMail = '对方邮箱地址';

        Mail::raw($content, function ($message) use ($toMail, $title) {
            $message->subject($title);
            $message->to($toMail);
        });
        
    }

下面我将展示测试截图,以保证代码的有效性 

希望可以对大家有所帮助,如有疑问,欢迎骚扰

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值