Sun*_*dav 8 node.js nodemailer
我正在从我的域帐户发送邮件,但它们没有显示在用户(来自nodemailer的选项)发送的框中.但是当从gmail服务邮件发送邮件时,会在用户的已发送框中显示.我在下面的代码中遗漏了什么?
var transport = nodemailer.createTransport({
host: "xxxx.domain.com",
auth: {
user: 'xyx',
pass: '123'
}
});
transport.sendMail(options, function (err, info) {
if (err) {
console.log(err)
}
console.log(info);
});
Run Code Online (Sandbox Code Playgroud)
小智 12
当您使用常规邮件客户端(例如 Thunderbird)发送邮件时,它会将邮件发送到您的 SMTP 服务器,然后将邮件中继到接收邮件服务器(也通过 SMTP)。但是,已发送文件夹中的副本会通过 IMAP 额外保存在您的邮件服务器上。所以你的邮件实际上被发送了两次,一次到接收者的邮件服务器,一个副本被“发送”到你自己的邮件服务器。
使用 nodemailer 时,您只需提供 SMTP 服务器的凭据,因此只会发送邮件,而不会在您的发送目录中存储副本。所以这基本上按预期工作。
我可以想到两种方法将邮件的副本保存在发送目录中:
使用额外的库,例如node-imap模仿常规邮件客户端的行为并手动保存邮件副本(例如,node-imap具有append保存新邮件的方法)。
将您自己的邮件地址作为密件抄送添加到所有外发邮件中,并使用某种类型的服务器端过滤将它们自动移动到已发送文件夹。这对于您的应用程序来说计算成本较低,但对邮件服务器有额外的过滤要求。