gpt4 book ai didi

javascript - 这个 Node 库如何能够从任何(可能拥有的)域向我发送电子邮件?

转载 作者:搜寻专家 更新时间:2023-11-01 00:29:48 26 4
gpt4 key购买 nike

我一直在玩弄这里的图书馆:https://github.com/guileen/node-sendmail

它能够发送出现在我邮箱中的电子邮件,尽管它似乎来 self 指定的任何域,甚至是具有身份验证层的现有域...

例如:

var sendmail = require('sendmail')();

sendmail({
from: 'no-reply@yourdomain.com',
to: 'test@qq.com, test@sohu.com, test@163.com ',
subject: 'test sendmail',
html: 'Mail of test sendmail ',
}, function(err, reply) {
console.log(err && err.stack);
console.dir(reply);
});

我发现将“发件人”设置为现有电子邮件(我不拥有)有时会起作用,因为我会收到以该地址作为发件人地址的电子邮件。我发现回复这些电子邮件会将回复发送给电子邮件的原始所有者...

这怎么可能而不是安全漏洞?我在这里发送什么样的电子邮件?这会被认为是通过 NodeJS 发送电子邮件的合理方式吗?

最佳答案

这称为电子邮件欺骗,与 NodeJS 库实现无关。原文SMTP protocol不提供任何机制来防止这种情况。

然而,后来的一个名为 Sender ID: Authenticating E-Mail 的 RFC引入了一种称为 SPF(发件人策略框架)的机制,可防止发送虚假的发件人详细信息。

This video非常清楚地解释了 SPF 的工作原理。简单的电子邮件客户端(例如Gmail)可以与称为SMTP session 的域建立连接以确保电子邮件的有效性。

除了 SPF 之外,如今许多域所有者还使用域 key 识别邮件 (DKIM) 来进一步防止虚假发件人。这基本上就是 DKIM 的工作原理:

  1. 域所有者使用将在发送消息时使用的公钥/私钥对。
  2. 当授权用户发送电子邮件时,服务器使用私钥生成邮件的数字签名。接收方服务器可以使用此签名来验证电子邮件。

如果你不熟悉公钥和私钥的概念,我绝对推荐你看这个video .这是一种非常有趣的方法,可以在两台服务器之间安全地通信,而不会冒中间人窃听对话的风险。

关于javascript - 这个 Node 库如何能够从任何(可能拥有的)域向我发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41094928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com