使用nodemailer获取SQL数据并发送多封电子邮件的步骤如下:
npm init
npm install nodemailer mysql
sendEmails.js
,并引入所需的模块:const nodemailer = require('nodemailer');
const mysql = require('mysql');
const connection = mysql.createConnection({
host: '数据库主机名',
user: '数据库用户名',
password: '数据库密码',
database: '数据库名'
});
connection.connect((err) => {
if (err) {
console.error('无法连接到数据库:', err);
return;
}
console.log('已成功连接到数据库');
});
const sql = 'SELECT * FROM 表名';
connection.query(sql, (err, results) => {
if (err) {
console.error('查询数据时出错:', err);
return;
}
// 处理查询结果
results.forEach((row) => {
// 获取每行数据的相关字段
const email = row.email;
const subject = '邮件主题';
const message = '邮件内容';
// 调用发送邮件函数
sendEmail(email, subject, message);
});
});
function sendEmail(email, subject, message) {
// 创建一个SMTP传输对象
const transporter = nodemailer.createTransport({
host: 'SMTP服务器主机名',
port: 'SMTP服务器端口号',
secure: true, // 使用SSL加密
auth: {
user: '发件人邮箱',
pass: '发件人邮箱密码'
}
});
// 邮件选项
const mailOptions = {
from: '发件人邮箱',
to: email,
subject: subject,
text: message
};
// 发送邮件
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
console.error('发送邮件时出错:', err);
return;
}
console.log('邮件已成功发送:', info.response);
});
}
node sendEmails.js
这样,脚本将会从数据库中获取数据,并使用nodemailer发送多封电子邮件。请注意,你需要根据实际情况修改代码中的数据库连接信息、SQL查询语句、SMTP服务器信息和发件人邮箱信息。
对于腾讯云相关产品,推荐使用腾讯云的云数据库MySQL和腾讯云的企业邮件服务。你可以在腾讯云官网上找到更多关于这些产品的详细信息和文档。
腾讯云云数据库MySQL:https://cloud.tencent.com/product/cdb
腾讯云企业邮件服务:https://cloud.tencent.com/product/exmail
领取专属 10元无门槛券
手把手带您无忧上云