首页 >  编程教程 >  laravel教程 >  正文

Laravel邮件发送功能的实现例子

 作者:潘某人SEO
1651

发送邮件并不复杂。Laravel 基于 Symfony Mailer 组件提供了一个简洁、简单的邮件 API。Laravel 和 Symfony 为 Mailer SMTP 、Mailgun 、Postmark 、 Amazon SES 、 及 sendmail (发送邮件的方式)提供驱动,允许你通过本地或者云服务来快速发送邮件。

需要准备的内容

①laravel框架
②一个用于发送邮件的账号
③一个用于接收邮件的账号

邮箱配置

不管是用什么程序发送邮件基本的原理都是当程序的某个行为被触发时,执行发送邮件的行为;发送邮件则必须要有一个邮箱账号,只是与人工操作的不同在于,程序则是在后台直接执行了邮箱的登录及内容的发送而已。

注册邮箱

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’,可以随便填,为收件人看见的邮件来源
Laravel邮件发送功

清空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官方文档。

申明:本站内容仅代表个人观点,仅供学习参考;未经授权任何个人或组织单位不得复制、转载、摘编以及其它形式的应用! 本站文章可能使用到互联网上的资料,若对您造成困扰,请联系 kk19@foxmail.com除理 本文地址:https://www.chateach.com/it/laravel/836
相关文章
  • Laravel的简介及其安装方法

    Laravel安装方法

    linux下使用composer的方式安装laravel 9.x版本的方法,及laravel的简介,Laravel是一套简洁、优雅的PHP Web开发框架,它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。

    1111
    • Laravel安装方法
  • DeepSeek一键部署,不用等待模型下载,创建即可使用。

    DeepSeek部署

    DeepSeek一键部署,不用等待模型下载,创建即可使用。腾讯云Cloud Studio 内置Ollama、多个DeepSeek-R1模型 ,每月向开发者提供 10000 分钟免费算力。

    1712
    • DeepSeek部署
  • springboot如何对html进行转义及恢复

    html转义,springboot

    Spring HtmlUtils把HTML编码转义,可将HTML标签互相转义,HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。

    2165
    • html转义
    • springboot
  • centos下修改ssh端口

    ssh端口,

    服务器如何修改默认的ssh端口,修改ssh默认端口是非常有必要的可以保证登陆的安全性。

    1240
    • ssh端口
  • php简介

    什么是php

    PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习

    1351
    • 什么是php
  • Java实现哈希加解密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512)

    Java哈希加解密

    什么是Hash,Java实现哈希加解密(HmacSHA1、HmacMD5、HmacSHA256、HmacSHA512),哈希算法不可逆,不同的源数据使用同样的哈希算法,可能会产生相同的哈希值,这被称之为碰撞率(collision rate),即使是 MD5 算法,碰撞率也非常小,小到几乎可以忽略不计。大约是 1.47*10的负29次方。

    2082
    • Java哈希加解密
  • laravel中如何获取和设置cookie操作

    laravel ,cookie操作

    在laravel框架中 cookie的优势在于,laravel在底层会对cookie值进行加密,并且使用授权码进行签名,如果客户端修改了cookie值,那么就会失效。会比直接在php中使用cookie更加严谨安全,当然为了laravel中cookie的操作方法会与php原生的方法有所区别,虽然也可以使用php原生的方法操作,但是不推荐。

    1258
    • laravel
    • cookie操作
  • php如何匹配特定的汉字字母英文preg_match_all方法实现

    preg_match_all,php匹配字符串

    php如何从字符串匹配特点的内容,preg_match_all如何匹配字符串内容,数字、字符、字母,正则匹配,php正则表达式中preg_match_all函数的详解。

    1083
    • preg_match_all
    • php匹配字符串
  • 页面资源加载真实进度条的详细教程

    进度条,资源加载

    分享一个基于原生javascript语法不需要任何插件来实现进度条的真实加载,按照加载资源数量的控制进度条的变化,可以实现只要网站每加载完成一个资源进度条同步变化。给站点一个真实的进度条对于用户体验还是非常友好的,一个真实的进度条可以一定程度上可以增加用户继续等待的机率。

    1605
    • 进度条
    • 资源加载
  • springboot怎么返回404页面及状态码

    springboot 404页面

    我们的项目通常来讲都是一个比较大的项目,包含了各种各样的服务。如果每个服务都以不同的方式返回异常信息,这样排查的时候就会比较凌乱。如果我们定义一个标准的异常处理体系。并在所有的服务中使用。那样开发起来就可以快速定位。页面也会更加的简单和直观。

    1439
    • springboot 404页面
  • php生成n位随机数

    php随机数

    php如何生成n位的随机数,给大家分享一个简单高效的方法,这里以随机生成6位数作为一个例子给大家演示。使用php的str_pad()和mt_rand()函数生成随机数。

    1538
    • php随机数
  • vue 如何监听滚动至底部

    vue触底监听

    vue如何实现触底判断,实现无限加载等功能。当我们需要实现无限加载的时候,即实现瀑布流的功能的时候,核心就是监听页面的滚动事件,当滚动触底的时候去请求加载数据,既可以实现无限加载下拉。

    1400
    • vue触底监听
  • JavaScript == 与 === 区别

    == 与 === 区别

    js中==和===的区别 ==和===的区别和一些比较规则: == 在比较类型不同的变量时,会进行数据类型转化,将二者转换成数据类型相同的变量,再进行比较。对于 string、number 等基础类型,== 和 === 是有区别的 a)不同类型间比较,== 之比较 "转化成同一类型后的值" 看 "值" 是否相等,=== 如果类型不同,其结果就是不等。

    855
    • == 与 === 区别
  • laravel Request的所有方法详解

    laravel Request,cookie,http参数

    laravel Request的所有方法详解,laravel实现如何获取cookie、表单参数、提交的文件、laravel如何获取网址url、路径、ip、端口等。

    1516
    • laravel Request
    • cookie
    • http参数
  • centos系统如何修改超级管理员root用户名

    root用户名修改,centos系统

    centos系统修改超级管理员root用户名实例演示,只要简单的将超级管理员root用户修改掉,那么被暴力破解几率就会直线下降。

    1259
    • root用户名修改
    • centos系统
  • SpringBoot中的异常处理的详细教程

    SpringBoot,异常处理

    SpringBoot中的异常处理的详细教程,处理用户请求出现运行时异常时直接响应给用户的是一个错误界面,对于用户的使用体验不友好。什么是全局异常处理机制,用来解决整个系统中任意一个控制器抛出异常时的统一处理入口,如何使用全局异常处理类 implements HandlerExceptionResolver,之后重写接口中的resolveException方法。

    1018
    • SpringBoot
    • 异常处理
  • Java字符串的替换replace()、replaceFirst()和replaceAll()

    java,字符串

    Java字符串的替换replace()、replaceFirst()和replaceAll(),如何匹配替换字符串中的内容。

    765
    • java
    • 字符串
  • Java获取IP,如何获取到访客的真实公网ip

    Java获取IP

    springboot,java如何获取用户的真实ip地址呢?项目开发中,不管是什么应用不管是什么语言,获取ip地址是非常关键的一环,因为管是操作日志的记录还是业务的需求上都不可或缺的用到访客的ip地址,那么在java中如何获取到IP地址呢?

    884
    • Java获取IP
-- 这已经是底线了,看看别的把! --