发送邮件并不复杂。Laravel 基于 Symfony Mailer 组件提供了一个简洁、简单的邮件 API。Laravel 和 Symfony 为 Mailer SMTP 、Mailgun 、Postmark 、 Amazon SES 、 及 sendmail (发送邮件的方式)提供驱动,允许你通过本地或者云服务来快速发送邮件。
需要准备的内容
①laravel框架
②一个用于发送邮件的账号
③一个用于接收邮件的账号
邮箱配置
不管是用什么程序发送邮件基本的原理都是当程序的某个行为被触发时,执行发送邮件的行为;发送邮件则必须要有一个邮箱账号,只是与人工操作的不同在于,程序则是在后台直接执行了邮箱的登录及内容的发送而已。
注册邮箱

这边以163邮箱为例,注册一个163邮箱,进入设置页面如上图所示。开启IMAP/SMTP服务,并创建一个授权码,授权码是一串字母,记录保存好,一旦创建页面关闭就无法在查看,只能重新创建。这里以163邮箱为例子,其它的邮箱服务商也是同样的操作操作方法。
配置laravel框架
//.evn
MAIL_MAILER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=seoddcn
MAIL_PASSWORD=HBBFDCTYGFDDX
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=seoddcn@163.com
MAIL_FROM_NAME=潘某人SEO
找到laravel框架根目录下的‘.evn’文件,将你的创建的163邮箱的配置填入上述的字段中。
修改第五行‘MAIL_USERNAME’,可以随便填,为收件人看见的发件人名称
修改第六行‘MAIL_PASSWORD’,将这个字段的值修改为刚才创建的163的授权码
修改第八行‘MAIL_FROM_ADDRESS’,输入你的163邮箱地址
修改第九行‘MAIL_FROM_NAME’,可以随便填,为收件人看见的邮件来源
清空config缓存
//切换到laravel框架的目录
cd /home/www/seodd
php artisan config:cahche
必需记得这一步config缓存清空,否则‘.evn’不管怎么设置都不会生效的。
创建控制器
<?php
namespace App\Http\Controllers\demo;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class mailController extends Controller
{
public function mailto(Request $request){
//文本邮件发送功能
Mail::raw($text, function ($message) {
$to = 'seoddcn@qq.com';//收件人邮箱
$message ->to($to)->subject('邮件主题');
});
}
public function mailtomore(Request $request){
//富文本邮件发送功能
Mail:: send('mail.index',['data'=>'邮件数据'], function ($message) {
//mail.index为邮件的blade模版
$message->to('接收者邮箱账号');
/*
局部设置发件人名称
参数1:发件人邮箱账号,与.env中发件人邮箱一致
参数2:接收人看到的发送人名称
*/
$message->from('发件人邮箱账号','xxx');
$message->subject('测试邮件');
});
}
}
自此调取此邮件控制器就可以实现邮件的发送,上述控制器,展示了纯文本和富文本的两种方式,更全的邮件发送方式可以参照laravel官方文档。
相关文章
-
laravel下数据密码正确但还是无法连接
使用laravel框架的时候,数据的密码确认是正确的但是就是无法连接成功数据库。出现这种情况往往并不是数据库的配置或者密码等参数存在问题,其实你只是少了非常关键的一步清空配置缓存。
-
SpringBoot——Thymeleaf中的条件判断
SpringBoot——Thymeleaf中的条件判断(th:if、th:unless、th:switch、th:case),th:if、th:unless、th:switch、th:case 这几个属性,其实和JSP里面的那些标签都是类似的,含义就可以理解为Java语言中的if、else、switch-case这些条件判断一样,所以这里就不再详细叙述了,下面就直接给出例子!!!
-
laravel Request的所有方法详解
laravel Request的所有方法详解,laravel实现如何获取cookie、表单参数、提交的文件、laravel如何获取网址url、路径、ip、端口等。
-
如何修改重置mysql密码
人生处处充满着意外,忘记了mysql密码无法登陆数据库,就需要重置mysql密码,今天以linux环境下的mysql数据密码的重置。大致的原理就是设置跳过数据库密码,然后设置登陆密码,在恢复数据登陆权限。
-
如何监听客户端的网络速度及质量
在实际形况中,站点及应用可以满足绝对的流畅性,但是用户的网络环境千变万化,尤其是移动端用户,这种情况情况下页面加载速度的瓶颈完全就取决于用户的网络环境。通过浏览器的 Network Information API 接口中提供的Navigator对象的connection属性,来评估用户的连接速度以及设备所处的网络类型。
-
centos系统如何修改超级管理员root用户名
centos系统修改超级管理员root用户名实例演示,只要简单的将超级管理员root用户修改掉,那么被暴力破解几率就会直线下降。
-
vue框架简介及其优势
vue框架简介及其优势,Vue 是一套用于构建用户界面的渐进式JavaScript框架,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。。但是vue对于SEO并不是非常友好,及其解决方案。
-
SpringBoot如何实现邮箱验证
在网站及各种应用中不可避免的需要运用到邮件发送服务,如消息提醒,验证码的发送,都需要使用到邮件发送。大体思路:先生成一个六位随机验证码并存起来,调用邮箱接口发送验证码,将用户输入的验证码和之前保存的验证码进行比对。
-
springboot网站搭建部署详细流程
linux环境如何搭建java框架springboot,为大家演示一种快速简单的搭建springboot的方法。由于springboot是java的众多框架之一,因此需要部署好java的运行环境,即服务器安装好jdk18以及tomcat3,注意版本的兼容性。
-
什么是html
html,全称Hypertext Markup Language,也就是“超文本链接标示语言”。HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链
-
通过 Composer 安装laravel
laravel的安装方式有很多种,推荐大家通过Composer安装laravel,下面是在linux系统中使用Composer安装laravel框架的方法。
-
Vue 中使用 localStorage 详解
什么是localStorage,与cookie的区别是什么,localStorage的生存期、数据结构、域名限制、浏览器支持;localStorage常用方法,存储数据setItem、读取数据getItem、修改数据、删除数据。
-
如何解决Vue中mounted不能获取到data
Vue中使用mounted时,无法获取到data的原因是,this无法指向data中的数据。在mounted生命周期中this指向的是window对象而不是Vue对象,所以真正找的是window对象下的data,但是window下没有data,所以就报错了。
-
php生成n位随机数
php如何生成n位的随机数,给大家分享一个简单高效的方法,这里以随机生成6位数作为一个例子给大家演示。使用php的str_pad()和mt_rand()函数生成随机数。
-
linux换将下安装Composer的方法
linux换将下安装Composer的方法,对于需要使用laravel框架开发站点,安装Composer是非常有必要的,可以使得laravel的安装管理变得更加的方便快捷。
-
OpenSSL 拒绝服务漏洞修复教程
OpenSSL 拒绝服务漏洞修复及版本升级教程。2020年12月08日,OpenSSL官方发布安全公告,披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp 拒绝服务漏洞。EDIPARTYNAME时,由于GENERAL_NAME_cmp函数未能正确处理,从而导致空指针引用,并可能导致拒绝服务。
-
php将多维数组根据某个键倒序/升序
php将多维数组根据某个键倒序/升序,一维数组可以用一个简单的krsort() 函数进行升序排列,或者使用 arsort() 函数进行降序排列 。但是如何是多维数组那么情况就会复杂很多,没有可以直接实现多维数组按照某个键值进行排序的函数。
-
Laravel Module开发包安装方法
linux环境下通过composer安装Laravel 模块化laravel-modules包,实现laravel 的模块管理器。