PHP使用laravel邮件服务发送邮件

目录
  • 配置
  • 生成 Mailables
  • 编写 Mailables
  • 配置发件人

配置

Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。

邮件中的每一项都在配置文件中有单独的配置项,甚至是独有的「传输方式」,允许你的应用使用不同的邮件服务发送邮件

'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
            'port' => env('MAIL_PORT', 587),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME'),
            'password' => env('MAIL_PASSWORD'),
            'timeout' => null,
            'local_domain' => env('MAIL_EHLO_DOMAIN'),
        ],
        ]

生成 Mailables

在构建 Laravel 应用程序时,应用程序发送的每种类型的电子邮件都表示为一个 mailable 类。 这些类存储在 app/Mail 目录中

php artisan make:mail OrderShipped

编写 Mailables

所有可邮寄类的配置都是在 build 方法中完成的。 在此方法中,可以调用各种方法,例如 from、subject、view 和 attach 来配置电子邮件的呈现和传递。

配置发件人

from 方法

首先,让我们浏览一下邮件的发件人的配置。或者,换句话说,邮件来自谁。有两种方法配置发件人。第一种,你可以在 mailable 类的 build 方法中使用 from 方法:

 public function build()
    {
        return $this->from(env('MAIL_USERNAME'),env('MAIL_FROM_ADDRESS'))
        ->view('emails.shipped');
    }

配置视图

可以在 mailable 类的 build 方法中使用 view 方法来指定在渲染邮件内容时要使用的模板。由于每封邮件通常使用 Blade 模板 来渲染其内容,因此在构建邮件 HTML 内容时你可以使用 Blade 模板引擎提供的所有功能及享受其带来的便利性

邮件模板一般存放于resources/views/emails下面

还可以配置视图变量,直接在视图模板中使用

在Mailables类中的构造方法中可以配置视图数据

/**
     * @var User
     */
    public $user;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($user)
    {
        $this->user = $user;
    }

在调用发送时

$user = User::all();
Mail::to('xxx@qq.com')->send(new OrderShipped($user));

视图

<h2>测试邮箱发送</h2>
<p>{{$user[0]['email']}}</p>

好的,到这一步就可以发送成功了

其实还可以使用with使用变量

 public function build()
    {
        return $this->from(env('MAIL_USERNAME'),env('MAIL_FROM_ADDRESS'))
            ->with([
                'name' => '测试变量',
                'time' => date('Y-m-d H:i:s')
            ])
            ->view('emails.shipped');
    }

视图

<h2>测试邮箱发送</h2>
名字:<p>{{$name}}</p>
发送时间<p>{{$time}}</p>
邮箱:<p>{{$user[0]['email']}}</p>

到此这篇关于PHP使用laravel邮件服务发送邮件的文章就介绍到这了,更多相关PHP laravel发送邮件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PHP laravel实现配置使用多数据库

    有的时候,我们在开发的过程中需要连接多个数据库. Laravel框架中早已为我们想到了这样的需求. 配置很简单. 在根目录下的/config/database.php文件中配置: Laravel中为我们提前预设了多种类型的数据库连接 'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', 'url' => env('DATABASE_URL'), 'database' => env('DB_DATABASE', datab

  • PHP laravel实现导出PDF功能

    目录 一.laravel-tcpdf 二.tcpdf 三.TCPDF解决保存中文文件名的方法 补充 一.laravel-tcpdf 导出PDF文件Laravel框架为我们集成了一个插件tcpdf. 下载地址: https://github.com/elibyy/tcpdf-laravel 然后使用composer进行安装就可以了. 具体安装过程,请查看文末补充内容 使用的时候记得use 一下 命名空间. 但是这里有一个问题,使用这个插件导出文件无法使用中文,且我还没有找到解决办法,因此,这个la

  • PHP Laravel门面的实现原理详解

    目录 环境 原理 环境 Laravel 5.4 原理 在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口,使得我们可以不用new这些类出来,就可以直接通过静态接口调用这些类中的方法. 下面我们先看看一个门面类是怎么定义的: <?php namespace App\Facades; use Illuminate\Support\Facades\Facade; class Player extends Facade { protected static function getF

  • SpringBoot(十)之邮件服务

    springboot仍然在狂速发展,才五个多月没有关注,现在看官网已经到1.5.3.RELEASE版本了.准备慢慢在写写springboot相关的文章,本篇文章使用springboot最新版本1.5.3进行开发. 发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息.最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring退出了JavaMailSender更加简化了邮件发送的过程,在之后springboot对此进行了封装就有了现在的sp

  • 利用SQL Server数据库邮件服务实现监控和预警

    背景 现在越来越多的企业.公司要求对于数据库实现7*24小时的数据库监控,一般情况下采用的就是第三方的平台来实现邮件和手机短信的监测提醒.前几日公司新上了一台服务器,急于部署程序还没来得及搭建其他相关平台,为了更好的监控数据库,暂时用SQL Server自带的邮件服务来实现对数据库的监控和预警.下面简要介绍下配置的过程便于以后使用. 配置邮件 整个部分的核心就是配置邮件服务,这部分需要一个邮件账户以及相应的邮件服务器.下面就以QQ的邮件为例进行说明. 1.设置邮件服务器 开启SMTP服务,点击开

  • C#实现按数据库邮件列表发送邮件的方法

    本文实例讲述了C#实现按数据库邮件列表发送邮件的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; delegate void sendDelegate(string from, string to, string subject, string body, string host, int port, s

  • Spring Boot实现邮件服务(附:常见邮箱的配置)

    前言 发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息.最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后来spring退出了JavaMailSender更加简化了邮件发送的过程,在之后springboot对此进行了封装就有了现在的spring-boot-starter-mail,本文将详细给大家介绍了关于Spring Boot邮件服务的相关内容,下面话不多说了,来一起看看详细的介绍吧 1. pom.xml文件中引入依赖 <dependen

  • Spring boot搭建邮件服务的完整步骤

    前言: 发送邮件,肯定是每个公司都会有的基本业务.很多公司都会选择把发送邮件作为一个基础服务,对外提供接口.直接调用就可发邮件了.但是我们都知道发送邮件耗时都比较长.那么今天就介绍下使用Spring boot+eventbus来打造一个简单邮件服务 规划接口列表 发送邮件的类型准备的有三种 发送普通邮件 发送html邮件 发送图文邮件 还有一个细节,如果我们同步的取发送邮件会有两个问题. 接口响应时间比较长 遇到并发的情况,容易导致服务器压力过大或者邮箱服务封ip 所以我们准备使用队列来执行发送

  • PHP使用SMTP邮件服务器发送邮件示例

    本文实例讲述了PHP使用SMTP邮件服务器发送邮件.分享给大家供大家参考,具体如下: 用之前记得先去163注册一个邮箱,然后打开SMTP服务,当然也可以使用QQ邮箱等,但配置信息得改. 如图所示,开启QQ邮箱SMTP服务: 话不多说,直接上代码 email.class.php  定义发送邮件的库 <?php class smtp { /* Public Variables */ var $smtp_port; //smtp_port 端口号 var $time_out; var $host_na

  • Spring Boot如何开启并使用邮件服务

    这里的邮件服务可以是自己搭的邮箱服务器,也可以是第三方的邮箱. 本人使用的是网易的163邮箱. 操作步骤如下: 登陆网易邮箱163在设置中打开并勾选POP3/SMTP/IMAP服务然后会得到一个授权码,这个邮箱和授权码将用作登陆认证. 添加maven依赖 这里使用spring 官方给我们提供的邮箱操作库. 坐标如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp

  • JavaWeb中JavaMail创建邮件和发送邮件

    一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段 --用于指明发件人 to字段     --用于指明收件人 subject字段  --用于说明邮件主题 cc字段    -- 抄送,将邮件发送给收件人的同时抄送给另一个收件人,收件人可以看到邮件抄送给了谁 bcc字段 -- 密送,将邮件发送给收件人的同时将邮件秘密发送给另一个收件人,收件人无法看到邮

  • SpringBoot基础教程之集成邮件服务

    一.前言 Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能. Spring 自带了一个 MailSender 的实现 JavaMailSenderImpl,它会使用 JavaMail API 来发送 Email.Spring 或 SpringBoot 应用在发送 Email 之前,我们必须要 JavaMailSenderImpl 装配为 Spring应用上下文的一个 bean. 二

  • laravel邮件发送的实现代码示例

    laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送.在本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送服务器. 以126邮箱为例 使用126邮箱的话,需要开启POP3和SMTP服务(设置->POP3/SMTP/IMAP) 常见错误编码 https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e

随机推荐