node-mail-service
基于node的邮件服务
定时每日给女朋友们发送情话嘿嘿嘿
就是照着大佬学习的
Github项目地址
启动服务
- git clone 本项目
- yarn install 或 npm install
- yarn serve 或 npm run serve
创建你的邮件服务
- 找一个你喜欢的文件夹执行
yarn init
创建一个package.json - yarn add nodemailer axios node-schedule 下载要用到的三个依赖:获取情话、邮件服务、定时任务
- 去你的邮箱开启邮件服务并获取授权码
- 创建index并依据本项目实现邮件服务
- node index 或 yarn serve 启动服务;终端依次显示爱心启动、你的情话、即将发出、发送成功|发送失败
配置邮箱服务
以163邮箱为例
function sendMail(text, title = "亲爱的小宝贝") {
const user = "你的163邮箱@163.com"; // 用163邮件服务就使用你的163邮箱,用qq邮件服务就用qq邮箱
const pass = "你的授权码"; // 邮箱授权码,见下①
const to = "对方的邮箱@qq.com"; // 对方的邮箱,任意邮箱
const transporter = nodemailer.createTransport({
service: '163',
host: "smtp.163.com",
port: 994, // 不同的邮箱端口号不同,见下常用邮箱服务器地址及端口②
secure: true,
auth: {
user: user, // 用户账号
pass: pass, //授权码
},
});
console.log('即将发出');
transporter.sendMail({
from: user,
to: to,
subject: title,
text: text,
}).then(res => {
console.log('发送成功:', res);
}).catch(err => {
console.log('发送失败:', err);
});
}
注:
① 进入你的邮箱,找到左上角账号后面的设置,选择POP3/SMTP/IMAP设置,开启IMAP/SMTP服务、POP3/SMTP服务发个短信即可,
短信发完上面会显示你的授权码
,163邮箱只显示一次,注意保存。
其他邮箱步骤大致相同。
常见问题
- 163有限不能定制邮件的from和to
transporter.sendMail({
from: user, // 163如果from和auth中的user不一致会发送失败,而qq邮箱可以加定制话语`你的爱人${user}`
to: to,
subject: title,
text: text,
})
上传到服务器
- 选一个你喜欢的服务器
- 选一个你喜欢的xshell或其他什么玩意
- 选一个你喜欢的pm2下载姿势
- 选一个你喜欢的pm2运行node index
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。