Laravel 5 结合网易/阿里邮箱基本邮件发送功能使用

使用的 Laravel 版本为 5.5

如果没有自建邮件服务器,直接结合网易、阿里邮箱可以非常简单方便的使用邮件发送功能。

注册前首先得保证自己有一个域名,阿里最好是在当前账户下有一个已注册的域名。

根据下方地址注册相应的账户信息,选择其中一个即可:

注册成功后,自行添加域名 MX 解析,直到生效。

接着通过各自的后台管理添加需要来用作为发件人的邮箱地址,例如:

添加商业客服:[email protected],并为其配置登录密码。

然后获取网易/阿里邮箱的 SMTP 发件地址等信息:

在此我不建议使用 25 端口作为发送端口使用,建议使用 SSL 加密的 994(网易)/465(阿里)端口。

项目配置:

  1. 编辑 .env 文件,配置发件信息:
    # 邮箱驱动,默认使用 smtp 即可
    MAIL_DRIVER=smtp
    # 网易:smtp.ym.163.com;阿里:smtp.qiye.aliyun.com
    MAIL_HOST=smtp.qiye.aliyun.com
    # 发件端口,网易:994;阿里:465
    MAIL_PORT=465
    # 发件人邮箱帐号
    MAIL_USERNAME=[email protected]
    # 发件人邮箱密码
    MAIL_PASSWORD=password
    # 加密方式,因为 SMTP 没有使用 25 端口,所以此处填写 ssl
    MAIL_ENCRYPTION=ssl
    # 配置全局默认发件地址
    MAIL_FROM_ADDRESS=[email protected]
    # 发件人名称
    MAIL_FROM_NAME=商业客服
    
  2. 安装 Guzzle HTTP 函数库composer require guzzlehttp/guzzle
  3. 创建 Markdown 格式邮件对象 Mailablephp artisan make:mail FirstMail --markdown=emails.first。命令会直接创建 app/Mail/FirstMail.php 文件和 resources/views/emails/first.blade.php 文件
  4. 新建一个测试控制器(自己写好路由),直接调用就可以发送啦!
    public function send() {
        Mail::to('收件人邮箱地址')->send(new FirstMail());
    }
    

接收到的默认邮件大概是这个样子的:
示例
first.blade.php 中对应的 @component 组件可以通过发布出视图文件进行相应修改:

php artisan vendor:publish --tag=laravel-mail

执行该命令后 resouces/views 下会多出 vendor/mail 目录,可以根据需要调整邮件内容。

更多资料参考:邮件发送 | 《Laravel 5.5 中文文档》 | PHP / Laravel 社区文档

发布了188 篇原创文章 · 获赞 198 · 访问量 211万+

猜你喜欢

转载自blog.csdn.net/maxsky/article/details/86593205
今日推荐