nodejs 发送邮件配置

1,使用nodemailer

npm install nodemailer --save-dev

2,创建一个发送邮件的工具包,如email_server.js

var nodemailer = require('nodemailer');

var internals = {};

internals.extend = function (o, n) {
  for (var p in n) {
    if (n.hasOwnProperty(p)) {
      o[p] = n[p];
    }
  };
  return o;
};

var mailConfig = {
  service: 'qq',
  auth: {
    user: '8707***29@qq.com',
    pass: '********'
  }
};

var mailOptions = {
  from: '870****9@qq.com',
  to: 'noahli@**.com',
  subject: '测试邮件',
  text: '测试邮件内容,请不要回复'
};

internals.sendEmail = function (_config,_options, attachment) {
  mailConfig = internals.extend(mailConfig,_config);
  mailOptions = internals.extend(mailOptions,_options);
  
  //执行发送操作
  var transporter = nodemailer.createTransport(mailConfig);
  transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
      console.log("邮件发送错误:" + error);
    } else {
      console.log("邮件发送成功:" + info.response);
    }
  });
};

exports = module.exports = internals;

3,使用工具发送邮件

var email_tools = require('./service/email_server');

//发送邮箱配置
var config = {
	service: 'qq',
	auth: {
		user: '870****9@qq.com',
		pass: '******'
	}
};

//收件箱配置
var options = {
	subject: "测试邮件",
	text: "我是邮件内容",
	to: "noahli@****.com",
	cc:"870***29@qq.com,51****78@qq.com",
	sender:"imdou8",
	attachments:[
		{
			filename: 'app.js',
                        //content: 'hello world!'
			path:"app.js"
		}
	],
	html:{path:"tpl/index.html"}
};

email_tools.sendEmail(config, options);


### 使用 Node.js 通过 SMTP 协议向网易邮箱发送邮件 为了使用 Node.js 向网易邮箱发送邮件Nodemailer 是推荐的选择之一[^1]。以下是具体的操作方法: #### 安装 Nodemailer 模块 首先,在项目中安装 `nodemailer` 模块。 ```bash npm install nodemailer ``` #### 配置 SMTP 设置发送邮件 接着配置 SMTP 连接参数,并编写用于发送邮件的脚本。对于网易163邮箱而言,需要先登录邮箱账户并开启 SMTP 服务,记录下获得的授权码[^2]。 ```javascript const nodemailer = require('nodemailer'); // 创建可重用的传输器对象来管理连接池 let transporter = nodemailer.createTransport({ host: "smtp.163.com", // SMTP服务器地址 port: 465, // SSL端口 secure: true, // 使用SSL加密方式 auth: { user: 'your_email@163.com', // 用户名 pass: 'YOUR_AUTH_CODE' // 授权码而非密码 } }); // 设置邮件选项 let mailOptions = { from: '"发件人姓名" <your_email@163.com>', // 发送者信息 to: 'recipient@example.com', // 收件人的邮箱地址 subject: '测试邮件主题', // 主题 text: '这是一封来自Node.js程序发出的测试邮件.', // 正文内容(纯文本) }; // 发送邮件 transporter.sendMail(mailOptions, (error, info) => { if (error){ console.log(error); }else{ console.log(`Message sent: ${info.messageId}`); } }); ``` 这段代码展示了如何创建一个基于 Nodemailer 的 SMTP 运输实例以及定义要发送的信息体。注意这里的 `pass` 字段应填写之前从网易邮箱获取到的授权码而不是实际的登录密码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值