从nodemailer发送的邮件消息未显示在用户邮件发送框中

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 服务器的凭据,因此只会发送邮件,而不会在您的发送目录中存储副本。所以这基本上按预期工作。

我可以想到两种方法将邮件的副本保存在发送目录中:

  1. 使用额外的库,例如node-imap模仿常规邮件客户端的行为并手动保存邮件副本(例如,node-imap具有append保存新邮件的方法)。

  2. 将您自己的邮件地址作为密件抄送添加到所有外发邮件中,并使用某种类型的服务器端过滤将它们自动移动到已发送文件夹。这对于您的应用程序来说计算成本较低,但对邮件服务器有额外的过滤要求。