基于Node.js实现nodemailer邮件发送
作者:lijiao 时间:2024-05-03 15:36:40
Nodemailer是一个简单易用的Node.js邮件发送组件,具体操作如下
1、安装nodemailer
npm install nodemailer --save
2、特点
Nodemailer的主要特点包括:
支持Unicode编码
支持Window系统环境
支持HTML内容和普通文本内容
支持附件(传送大附件)
支持HTML内容中嵌入图片
支持SSL/STARTTLS安全的邮件发送
支持内置的transport方法和其他插件实现的transport方法
支持自定义插件处理消息
支持XOAUTH2登录验证
以上的功能特点,已经覆盖了大部分的发邮件的需求了,接下来就让我们动手开始写程序吧。
3、简单示例
这是一个完整的例子来发送电子邮件以明文和HTML本体
var nodemailer = require('nodemailer');
// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');
// setup e-mail data with unicode symbols
var mailOptions = {
from: 'Fred Foo 👥 <foo@blurdybloop.com>', // sender address
to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
subject: 'Hello ✔', // Subject line
text: 'Hello world 🐴', // plaintext body
html: '<b>Hello world 🐴</b>' // html body
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
4、常见错误
{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
name: 'AuthError',
data: '454 Authentication failed, please open smtp flag first!',
stage: 'auth' }
错误原因: 账号未设置该服务
解决方案: QQ邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务
{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
name: 'SenderError',
data: '501 mail from address must be same as authorization user',
stage: 'mail' }
错误原因: 发件账号与认证账号不同,即用户名和密码不匹配。
标签:Node.js,nodemailer,邮件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Win7的IIS7中ASP获得的系统日期格式为斜杠的解决办法
2012-12-04 19:57:33
sql2000各个版本区别总结第1/3页
2024-01-15 10:09:42
通过js脚本复制网页上的一个表格的不错实现方法
2024-04-23 09:16:19
Python 编码处理-str与Unicode的区别
2021-04-15 15:38:43
Python实现计算字符串中出现次数最多的字符示例
2021-03-11 15:59:13
![](https://img.aspxhome.com/file/2023/3/100983_0s.png)
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2023-08-20 07:45:31
sqlserver中如何查询出连续日期记录的代码
2011-09-30 11:16:56
Python minidom模块用法示例【DOM写入和解析XML】
2021-04-22 23:28:19
python读取几个G的csv文件方法
2023-06-04 08:01:27
Python imageio读取视频并进行编解码详解
2021-02-20 07:32:53
python 随机打乱 图片和对应的标签方法
2023-03-13 10:45:29
百度工程师讲PHP函数的实现原理及性能分析(三)
2023-10-20 01:33:03
Windows下通过DOS命令登录MYSQL的方法
2024-01-27 13:21:02
Python字符串、整数、和浮点型数相互转换实例
2023-09-20 18:05:52
Python实现的质因式分解算法示例
2021-12-16 23:10:05
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021-08-13 07:18:56
![](https://img.aspxhome.com/file/2023/0/127660_0s.png)
tensorflow使用range_input_producer多线程读取数据实例
2022-10-19 16:43:21
Python使用urllib模块的urlopen超时问题解决方法
2023-12-16 02:49:50
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
2023-04-19 19:40:57
python线程池的实现实例
2022-11-21 11:24:27