首页 > 其他分享 >Loopback4: 使用QQ邮箱发送邮件

Loopback4: 使用QQ邮箱发送邮件

时间:2023-08-19 09:00:11浏览次数:35  
标签:QQ text nodemailer Loopback4 邮箱 import 邮件

前置动作

从QQ邮箱中,获取授权码,具体方式请自行百度

代码撰写

环境安装

npm install nodemailer

创建一个用于发送邮件的Service

import {injectable, /* inject, */ BindingScope} from '@loopback/core';
import nodemailer from 'nodemailer';

@injectable({scope: BindingScope.TRANSIENT})
export class MailService {
  private transporter: nodemailer.Transporter;

  constructor() {
    this.transporter = nodemailer.createTransport({
      host: 'smtp.qq.com', //QQ邮箱的服务器
      port: 465, //SMTP地址,从邮件服务提供商获取
      secure: true, //465端口为true,其他接口为false
      auth: {
        user: '', // 自己的邮箱
        pass: '', // 邮箱授权码,从邮件服务提供商获取
      },
    });
  }

  async sendEmail(to: string, subject: string, text: string) {
    // 创建邮件选项对象
    const mailOptions: nodemailer.SendMailOptions = {
      from: '', // 替换为你的 QQ 邮箱地址
      to,
      subject,
      text,
    };

    // 使用 SMTP 运输器发送邮件
    await this.transporter.sendMail(mailOptions);
  }
}

在控制器中注入依赖,并调用sendMail方法

import {service} from '@loopback/core';
import {get} from '@loopback/rest';
import {MailService} from '../services';

export class EmailController {
  @service(MailService) emailService: MailService;

  async sendEmail() {
    const to = ''; // 替换为收件人的邮箱地址
    const subject = 'Hello';
    const text = 'This is a test email';

    // 调用邮件服务发送邮件
    await this.emailService.sendEmail(to, subject, text);

    return 'Email sent successfully';
  }

  @get('/send-mail')
  async callsendMail() {
    await this.sendEmail();
  }
}

验收

  1. 点击执行
    image
  2. 查看收到的邮件
    image

标签:QQ,text,nodemailer,Loopback4,邮箱,import,邮件
From: https://www.cnblogs.com/leoych/p/17642035.html

相关文章

  • 一次说清Odoo的邮箱配置
    odoo的邮箱配置从很早的版本时就是一个问题,可能在国外用的很丝滑的功能,在国内就水土不服。本文就试图将邮箱配置的问题一次说个清楚。原生系统的邮箱使用本着知其然又知其所以然的标准,我们应该先理一下原生的功能,知道它原本的样子之后,我们才能知道问题在哪,再想办法去解决这些问......
  • 182. 查找重复的电子邮箱
    表: Person+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||email|varchar|+-------------+---------+id是该表的主键列。此表的每一行都包含一封电子邮件。电子邮件不包含大写字母。编写一个SQL查询......
  • EQ-BDS面板部署QQ机器人
    一、名词解释二、配置教程0.预处理1.解压压缩包2.运行配置程序3.生成配置4.运行启动脚本5.扫码登录6.部署到服务器三、EQ-BDS面板配置机器人教程1.复制插件token2.设置面板连接插件3.确认是否连接成功4.配置群号5.权限设置后续升级机器人的方法一、名词解......
  • vue——qq音乐播放器(1) 左边导航栏样式的实现
    实现结果:左侧导航栏样式实现完整代码:1<template>2<!--左边导航条-->3<divclass="leftnav">4<!--logo-->5<divclass="logo"></div>6<divclass="my-scroll">7......
  • 如何拥有个人域名邮箱
    对于邮箱我们常用的是QQ邮箱或者163邮箱。这在联系方式里面显得不够高大上,装逼不够满分。本文为了介绍如何搭建自己的域名邮箱,让装逼的光辉照亮互联网!前期准备开通腾讯企业邮箱服务自己的域名开通腾讯企业邮箱服务进入腾讯企业邮箱官网,点击注册。填写信息注册企业微信,这部分信息随......
  • Jenkins 配置邮件通知(腾讯企业邮箱)
    开通企业邮箱SMTP服务登录企业微信邮箱,然后打开设置,在里面找到收发信设置,在开启服务里面将开启IMAP/SMTP服务勾选保存后回到邮箱绑定页签下,将安全设置里的安全登录开关打开在下面的客户端专用密码中点击生成新密码 点击生成新密码后会弹出一个表单,里面展示......
  • 196. 删除重复的电子邮箱
    196.删除重复的电子邮箱2023年8月13日19:16:12196.删除重复的电子邮箱简单SQLSchemaPandasSchema表:Person+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||email|varchar|+-------------+-......
  • 1517. 查找拥有有效邮箱的用户
    1517.查找拥有有效邮箱的用户2023年8月12日20:27:491517.查找拥有有效邮箱的用户简单SQLSchemaPandasSchema表:Users+---------------+---------+|ColumnName|Type|+---------------+---------+|user_id|int||name|varchar......
  • 使用阿里云企业邮箱创建自己的域名邮箱
    之前用腾讯企业邮箱做过个性化域名邮箱,但创建的每一个帐户都必须绑定手机号,这就导致了不可能用它开很多小号(可以不用但不能没有)。最近我又注册了新域名,遂打算尝试一下阿里云的免费企业邮箱。开通企业邮箱服务1打开https://wanwang.aliyun.com/mail/freemail/,点击立即开通的黄色......
  • web QQ 用到的技术
    Project HomeDownloadsWikiIssuesSourceSummary Updates PeopleProjectInformationActivityLowProjectfeedsCodelicenseNewBSDLicenseContentlicenseCreativeCommons3.0BYLabelsjavascript,js,ajax,webapp,......