❤ 前端实现发邮件

❤ 前端实现发邮件

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:'111111@qq.com', //发送者邮箱
        pass:'xyzdawd'  //发送者邮箱授权码,不是登录或者独立密码,是你设置的smtp授权密码

    },
});

let mailOptions = {
    from:'111111@qq.com', //发送者邮箱
    to:'a22@163.com', //接受者邮箱,可以设置多个
    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 发送邮件了。

相关推荐
JosieBook19 分钟前
【Vue】09 Vue技术——JavaScript 数据代理的实现与应用
前端·javascript·vue.js
pusheng202522 分钟前
算力时代的隐形防线:数据中心氢气安全挑战与技术突破
前端·安全
起名时在学Aiifox32 分钟前
前端文件下载功能深度解析:从基础实现到企业级方案
前端·vue.js·typescript
2501_941877981 小时前
从配置热更新到运行时自适应的互联网工程语法演进与多语言实践随笔分享
开发语言·前端·python
云上凯歌2 小时前
01 ruoyi-vue-pro框架架构剖析
前端·vue.js·架构
华仔啊2 小时前
JavaScript 如何准确判断数据类型?5 种方法深度对比
前端·javascript
毕设十刻3 小时前
基于Vue的迅读网上书城22f4d(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
程序员小寒3 小时前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
爱健身的小刘同学3 小时前
Vue 3 + Leaflet 地图可视化
前端·javascript·vue.js
神秘的猪头4 小时前
Ajax 数据请求:从零开始掌握异步通信
前端·javascript