让我们说我想通过bcc@xyz.com发送电子邮件到receive@xyz.com。
当bcc@xyz.com收到一封电子邮件时,他应该会看到收件人@ xyz.com和bcc中的bcc@xyz.com。
但是,当bcc@xyz.com收到电子邮件时,他看不到收件人。
我尝试使用邮件编辑器(而不是传输工具)创建和发送电子邮件,但是它无法正常工作。
我也尝试了cc,但是cc不能按预期工作。
const nodemailer = require('nodemailer');
const testAccount = await nodemailer.createTestAccount();
const transporter = nodemailer.createTransport({
host: "smtp.ethereal.email",
auth: {
user: testAccount.user,
pass: testAccount.pass
},
tls: { rejectUnauthorized: false }
});
const mailData = {
from: 'xyz@xyz.com',
to: 'recipient@xyz.com',
bcc: 'bcc@xyz.com'
subject: 'Sample Mail',
html: text
}
const result = await transporter.sendMail(mailData);
console.log('Mail Sent! \t ID: ' + result.messageId);
我希望 bcc@xyz.com 看到 recipient@xyz.com 。
答案 0 :(得分:2)
请参见envelope
SMTP信封通常是从邮件对象中的“抄送”,“收件人”,“抄送”和“密件抄送”字段自动生成的,但是如果出于某些原因要自己指定(自定义信封通常用于VERP地址),则可以使用邮件对象中的信封属性。
let message = {
...,
from: 'mailer@nodemailer.com', // listed in rfc822 message header
to: 'daemon@nodemailer.com', // listed in rfc822 message header
envelope: {
from: 'Daemon <deamon@nodemailer.com>', // used as MAIL FROM: address for SMTP
to: 'mailer@nodemailer.com, Mailer <mailer2@nodemailer.com>' // used as RCPT TO: address for SMTP
}
}
在您的情况下,以下mailData应该可以完成工作:
const mailData = {
from: 'xyz@xyz.com',
to: 'recipient@xyz.com',
bcc: 'bcc@xyz.com',
subject: 'Sample Mail',
html: text,
envelope: {
from: 'xyz@xyz.com',
to: 'recipient@xyz.com'
}
}