侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Hyperf2.1框架中使用hyperf-ext/mail组件包发送邮件流程步骤

php  /  管理员 发布于 4年前   5489

最近有个hyperf框架的项目要加个发送邮件的功能,在网上一顿操作找轮子,所以就找到这个组件包

为什么用它,主要是我是laravel爱好者,看到了它的介绍所以我直接就用了,因为我之前用过laravel发邮件,也写过博客,需要的自行在本站laravel类里面搜索一下


很熟悉的介绍:

该组件衍生自 illuminate/mail,基于 SwiftMailer 函数库提供了一套干净、简洁的 API ,可以为 SMTP、Mailgun、Postmark、AWS SES、阿里云 DM 和 sendmail 提供驱动,让你可以快速从本地或云端服务自由地发送邮件。


环境还是之前的环境啊,线上体验链接:https://blog.zongscan.com/  这个

不说了,正式安装   走流程

安装

composer require hyperf-ext/mail

发布配置

 php bin/hyperf.php vendor:publish hyperf-ext/mail


它有好几个驱动可以选择,我这里直接用默认的smtp

发送邮箱163邮箱 (怎么开通smtp/pop3服务,怎么拿到授权码这里我就不说了,以前的文章有写)



配置文件 添加邮箱信息  根目录的.env文件


MAIL_MAILER=smtp
MAIL_SMTP_HOST=smtp.163.com
MAIL_SMTP_PORT=465
[email protected]
MAIL_SMTP_PASSWORD=tk
MAIL_SMTP_ENCRYPTION=ssl
MAIL_SMTP_TIMEOUT=null
MAIL_SMTP_AUTH_MODE=null
[email protected]
MAIL_FROM_NAME=zongscan


生成 Mailable 可邮寄类


php bin/hyperf.php gen:mail subscribe

会生成该文件/hyperf/app/Mail/subscribe.php


<?php
declare(strict_types=1);
/**
 * This file is part of hyperf-ext/mail.
 *
 * @link     https://github.com/hyperf-ext/mail
 * @contact  [email protected]
 * @license  https://github.com/hyperf-ext/mail/blob/master/LICENSE
 */
namespace App\Mail;
use HyperfExt\Contract\ShouldQueue;
use HyperfExt\Mail\Mailable;
use App\Model\User;
class subscribe extends Mailable implements ShouldQueue
{
    /**
     * 用户实例。
     *
     * @var User
     */
    public $user;
    
    /**
     * 创建一个消息实例。
     *
     * @param  \App\Model\User  $user
     * @return void
     */
    public function __construct(User $user)
    {
        //
        $this->user = $user;
    }
    
    /**
     * Build the message.
     */
    public function build()
    {
        //邮箱激活模板
        $html1 = <<<ht
    <p>Hi,<em style="font-weight: 700;">你好 {$this->user->username}</em>,请点击下面的链接激活你的账号</p>
    <a href="https://blog.zongscan.com?activate={$this->user->user_id}">立即激活</a>
ht;
        return $this
            ->subject('ZONGSCAN-账号注册激活链接')
            ->htmlBody($html1);
    }
    
}


添加路由

//发验证邮件

Router::get('sendemail/{user_id}','App\Controller\UserController@sendemail');

创建控制器方法

use App\Model\User;
use App\Mail\subscribe;
use HyperfExt\Mail\Mail;
//发邮箱验证
public function sendemail(RenderInterface $render,RequestInterface $request, int $user_id)
{
    $user = User::findOrFail($user_id);
    //发邮件
    Mail::to('[email protected]')->send(new subscribe($user));
}


完事 看看效果

1.png

对你有帮助的话 

希望你收藏本站哦:https://www.zongscan.com/


  • 上一条:
    小程序新版订阅消息模板消息
    下一条:
    PHP实现,商城购物车类的开发步骤流程
  • 昵称:

    邮箱:

    1条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • AI Agent
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus(0个评论)
    • Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用(0个评论)
    • Apifox桌面端被曝遭供应链投毒:CDN 脚本被篡改,窃取 SSH 密钥与 Git 凭证(0个评论)
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 近期评论
    • test1 在

      opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • Zita 在

      Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客