简单两步使用node发送qq邮件

news/2024/7/17 20:26:26
node发送邮件非常简单,这里只做qq的演示,你可以举一反三.

使用nodemailer包

let transporter = nodemailer.createTransport({// 使用qq发送邮件// 更多请查看支持列表:https://nodemailer.com/smtp/well-known/service: 'qq',port: 465, // SMTP 端口secureConnection: true, // 使用了 SSLauth: {user: '751734566@qq.com',// 这里密码不是qq密码,是你设置的smtp授权码// 获取qq授权码请看:https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.htmlpass: 'xxxxxxxx',}
});

接下来我们设置我们到发送内容

let mailOpt= {from: '"test" <xxxxxx@qq.com>',  // 你到qq邮箱地址to: 'xxxx@qq.com', // 接受人,可以群发填写多个逗号分隔subject: 'Hello', // 主题名(邮件名)// 可以发送text或者html格式,2选1// text: 'Hello world?', // 纯文本html: '<b>Hello world?</b>' // html
};

如果我们想发一个稍微漂亮到邮件怎么办?
我们可以使用html模板来实现

const template = require('art-template');let html = template(__dirname + '/mail_temp.html', obj) // mail_temp.html为你想使用到页面模板,obj为你的参数// 例如
obj = {name : 'test',phone : '183xxxxxxxx',time : new Date()
}
<section>新用户:{{name}}({{phone}})于{{time}}进行了注册.
</section>

所有准备完成,让我们发送邮件吧!

// 执行发送
transporter.sendMail(mailOptions, (error, info) => {if (error) {return console.log(error);}console.log('邮件已发送成功,邮件id: %s', info.messageId);
});

文档参考
nodemailer : https://www.npmjs.com/package...
art-template : https://aui.github.io/art-tem...


http://lihuaxi.xjx100.cn/news/267941.html

相关文章

Redis中有序集合zset数据类型(增加(添加元素)、获取(获取指定范围元素、返回权值在min和max之间的成员、返回成员member的score值)、删除(删除指定元素和指定权值范围的元素))

sorted set&#xff0c;有序集合元素为string类型元素具有唯⼀性&#xff0c;不重复 【值不能重复】每个元素都会关联⼀个double类型的score&#xff0c;表示权重&#xff0c;通过权重将元素从⼩到⼤排序说明&#xff1a;没有修改操作 1. 增加 1.1 添加 【先写权重】【可更…

【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)

typora-root-url: ./ 【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计&#xff08;原理图PCB源码仿真工程答辩论文&#xff09; 文章目录typora-root-url: ./【毕业设计】1-基于单片机的城市轨道交通列车超速防护系统_里程表设计&#xff08;原理图PCB源码…

测试,发布,质量保障,用户体验

1.在实际项目中何时开始设计用户体验&#xff1a;用户的第一印象&#xff1b;从用户的角度考虑问题&#xff1b;软件啊服务始终要记住用户的选择&#xff1b;短期刺激和长期影响 2.测试经验交流&#xff1a;基本名词解释及分类&#xff1b;按测试设计的方法分类&#xff1b;按测…

webdriver Google-chrome crashed

解决webdriver中报错。 raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally(unknown error: DevToolsActivePort file doesnt exist)(The process star…

C语言的逗号!_只愿与一人十指紧扣_新浪博客

#includeint main( ){int i;i(1,9);//取得是逗号后面的&#xff01;printf("i:%d\n",i);return 0;}

字符检索机制函数

strstr 头文件&#xff1a;#include <string.h> strstr()函数用来检索子串在字符串中首次出现的位置&#xff0c;其原型为&#xff1a; char *strstr( char *str, char * substr ); 【参数说明】str为要检索的字符串&#xff0c;substr为要检索的子串。 【返回值】返回字…

Vue笔记(五)——Token生命周期

Token 定义&#xff1a;令牌&#xff0c;一般用于用户身份验证Token的特点 随机性不可预测性时效性无状态跨域node所需模块 jsonwebtoken生成并加密Token// 设置对象 let user {}; // 加密密钥 let secret 0000; let token jwt.sign(user,secret,{expiresIn:60*60 // 设置过…

javascript this用法小结

this是面向对象语言中的一个重要概念&#xff0c;在JAVA,C#等大型语言中&#xff0c;this固定指向运行时的当前对象。但是在javascript中&#xff0c;由于 javascript的动态性&#xff08;解释执行&#xff0c;当然也有简单的预编译过程&#xff09;&#xff0c;this的指向在运…