html: ‘’,
attachments: [ //添加附件(可多个)
{
filename: “image”,
path: path.resolve(__dirname, “2.jpg”),
cid: “01”,//与上面的图片cid对应
},
{
filename: “a.txt”,
content: “hello world!”,
},
{
filename: “b.txt”,
path: “./text.txt”,//根目录新建即可
},
],
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log(info);
});
我们先来看一下service这个字段,如果写了这个就不用写host和端口。大家可以看一下官方的介绍,详情戳此。它其实已经帮你封装好了,非常方便。
发送纯文本text
这个就比较简单了,我们直接在mailOptions 下面的text写上我们要发送的文本即可,其他的html和attachments都不用配置了。
HTML模板发送
有同学可能觉得这个text文本太low了,我们应该写一些比较华丽的网页发送。没问题,其实我们还可以自定义html网页的,我们不要使用text字段就好,改用html字段而且我们要进行html文件的引入。
我们在根目录新建index.html文件,用于发送此html文件给对方,这里我就随便拿了一个网页。我们要使用 fs.createReadStream(path.resolve(__dirname,'index.html'))
的方式进行引入即可。重新运行我们就会接收到邮件了。
发送图片
除了网页之外我们还可以使用图片的形式发送,我们在html字段里不要发送html文件,写上html: '<img src="cid:01">'
之后,我们在attachments里面也写上附件的地址,我这里就直接在根目录之下放置了一张图片,cid要对应上。
添加附件
这里我们就可以添加一些文件了,比如这里我添加了txt文件、docx文件、pdf文件、zip文件都可以。
我们其实感兴趣只是验证码部分,别急这就安排一下到底是怎么回事。我们首先要想办法生成一个验证码,一般4-6位都是可以的,下面就介绍一种简单的方法来生成一个吧。
let code = Math.random().toString().substr(2, 4)//从第二位开始截取,截取4位(当然也可以6位)
我们就直接使用text这个字段进行发送就好了。code可以在一开始生成一下就好。这样其实我们就可以有一个验证的功能了,让用户输入的验证码与你生成对比的是否一致。
text: 您的验证码是${code},验证码在10分钟内有效
我在测试的时候其实有一些小问题,但是我也不知道是什么原因。
Error: Message failed: 554 DT:SPM 163
我去163的官网查了一下,得出的结论是:
DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件。
这是我在发送图片的时候,就是我的二维码图片不行,但是我换一张普通的照片就可以,无解。
发送给多名用户失败
当我尝试在to字段那里写两个用户的时候,发现只有一个是成功的,另一个却被退回了,我也不知道是怎么回事。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!