❤ 前端实现发邮件

❤ 前端实现发邮件

1、Nodejs使用nodemailer发邮件

一、开启发送者邮箱的SMTP服务

QQ邮箱开启SMTP服务教程

163邮箱开启SMTP服务教程

二、安装nodemailer模块

在node项目目录下,使用cmd运行下面命令

js 复制代码
npm install nodemailer --save

nodemailer官网
https://nodemailer.com/about/

三、根目录下建立一个mailer.js

js 复制代码
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
    host:'smtp.qq.com', //发送者邮箱服务端口,参考 https://github.com/nodemailer/nodemailer-wellknown/blob/master/services.json
    secure:true,
    auth:{
        user:'[email protected]', //发送者邮箱
        pass:'xyzdawd'  //发送者邮箱授权码,不是登录或者独立密码,是你设置的smtp授权密码

    },
});

let mailOptions = {
    from:'[email protected]', //发送者邮箱
    to:'[email protected]', //接受者邮箱,可以设置多个
    subject:'培训证书', //邮件主题
    text:'企业培训证书!', //信箱里邮件列表时,此邮件显示的内容说明
    html:'<b>企业培训证书!</b><br/><img src="cid:00001" alt="证书图片" />', //邮件内容
    watchHtml: '<b>企业</b> 培训证书!', // Apple Watch specific HTML body 苹果手表指定HTML格式
    //附件 filename在邮件中附件显示的名字,content附件的内容,contentType附件的类型,cid附件的id
    //关于附件的更多用法以及属性说明,参考 https://nodemailer.com/message/attachments/
    attachments: [
        // String attachment
        {
            filename: 'notes.txt',
            content: 'Some notes about this e-mail',
            contentType: 'text/plain' // 可选,会检测文件名
        },
]
transporter.sendMail(mailOptions,(err,info)=>{
    if(err){
        console.log(err);
    }
    else{
        console.log(info);
    }
});

四、运行

修改配置文件以后,在根目录下命令行执行(切记是命令行来执行

js 复制代码
使用 node mailer.js 运行程序

五、项目中使用

javascript 复制代码
安装 axios
npm install axios 

注意:

1.建议不要用163邮箱作为发送方

因为163的反垃圾机制,用163向qq邮箱发送,html内容有图片,携带附件的时候,会报错误

Error: Message failed: 554 DT:SPM 163 smtp11, 导致发送失败。目前我使用QQ作为发送方。

2.两个填写发件人账号的地方要写一致,不然会导致如下错误,504,SUM 信封发件人和信头发件人不匹配

Error: Message failed: 554 DT:SPM 126 smtp7

2、emailjs实现发邮件

限制

emailjs邮箱(没有需要注册一个)

需要node的环境,安装emailjs,如下

在前端使用 EmailJS 发送邮件是一种方便的方式,EmailJS 是一个允许你通过前端直接发送电子邮件的服务。以下是一个简单的步骤指南来帮助你在前端使用 EmailJS 发送邮件:

步骤一:注册 EmailJS 账户

访问 EmailJS 官方网站 并注册一个账户。

创建一个项目并获取你的 User ID。

步骤二:安装 EmailJS SDK

通过 npm 安装 EmailJS SDK:

js 复制代码
npm install emailjs-com

步骤三:在前端代码中使用 EmailJS 发送邮件

js 复制代码
import emailjs from 'emailjs-com';

// 使用你在 EmailJS 上获得的 User ID 和 Service ID
const USER_ID = 'your_user_id';
const SERVICE_ID = 'your_service_id';

// 发送邮件的函数
function sendEmail() {
  emailjs.send(SERVICE_ID, 'template_id', {
    to_name: 'Recipient Name',
    message: 'This is a test email sent from EmailJS.'
  }, USER_ID)
  .then((response) => {
    console.log('Email sent:', response);
  }, (error) => {
    console.error('Error sending email:', error);
  });
}

// 调用发送邮件函数
sendEmail();

注意事项:

替换 your_user_id 和 your_service_id 分别为你在 EmailJS 上获取的 User ID 和 Service ID。

替换 'template_id' 为你在 EmailJS 上创建的模板 ID。

在 emailjs.send 方法中,可以传递邮件的参数,例如收件人名称、消息内容等。

请确保在发送邮件之前配置好你的 EmailJS 服务和模板,并替换代码中的相应参数。这样就可以在前端使用 EmailJS 发送邮件了。

相关推荐
疾风铸境10 分钟前
Qt5.14.2+mingw64编译OpenCV3.4.14一次成功记录
前端·webpack·node.js
晓风伴月14 分钟前
Css:overflow: hidden截断条件‌及如何避免截断
前端·css·overflow截断条件
最新资讯动态17 分钟前
使用“一次开发,多端部署”,实现Pura X阔折叠的全新设计
前端
爱泡脚的鸡腿32 分钟前
HTML CSS 第二次笔记
前端·css
灯火不休ᝰ1 小时前
前端处理pdf文件流,展示pdf
前端·pdf
智践行1 小时前
Trae开发实战之转盘小程序
前端·trae
最新资讯动态1 小时前
DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗
前端
lvbb661 小时前
框架修改思路
前端·javascript·vue.js
树上有只程序猿1 小时前
Java程序员需要掌握的技术
前端
从零开始学安卓1 小时前
Kotlin(三) 协程
前端