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

若是在后台用户管理加一个发送邮件的功能,相对来讲联系用户就很方便了,因此本身打算研究一下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服务,以及生成受权密码。

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

路由定义post

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);
        });
        
    }复制代码

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

但愿能够对你们有所帮助,若有疑问,欢迎骚扰

相关文章
相关标签/搜索