【问题标题】:Why can I send emails from domains I don't own? [closed]为什么我可以从我不拥有的域发送电子邮件? [关闭]
【发布时间】:2015-09-20 06:29:18
【问题描述】:

当我发现一个真正困扰我的发现时,我最近在搞乱邮件功能!

我在 PHP 中使用了类似格式的命令:

mail("client@example.com","My subject", "IT WORKED", "From: contact@domainidontown.com");

我意识到,无论我在“发件人”部分放什么电子邮件,电子邮件总是会发送(虽然它确实进入了垃圾文件夹,但这可能是因为电子邮件的内容)!!!

我的问题是:

  • 为什么会这样?当然应该有一些身份验证过程来确保我确实拥有该域并且电子邮件确实是由该域发送的!
  • 是什么阻止我假装来自银行或 Paypal 或其他机构并进行欺诈
  • 作为用户,我如何确定我收到的电子邮件确实来自发件人?我的检查方式一直是查看发件人的电子邮件地址。但似乎我可以从任何电子邮件地址(即使是我不拥有的)发送任何电子邮件,它仍然可以发送!

注意:我使用 Outlook.com 作为我的电子邮件客户端(网页版。不是桌面版!)

我会继续我的实验,看看它是否适用于以下电子邮件:contact@paypal.com,但我担心我可能会做非法的事情,否则我的 IP 会被列入黑名单。

【问题讨论】:

  • 我是尼日利亚人。我相信上帝。我可以给你。请给我您的信用卡详细信息。就像普通邮件一样。
  • 不知道这如何回答我的问题
  • 您没有收到垃圾邮件?
  • 不,我收到垃圾邮件。但我的问题是关于使用其他人的域名。大多数垃圾邮件来自奇怪的域名,例如:contact@paypalbanking.com 而不是 contact@paypal.com。但是从这个问题你可以清楚地看到我能够从其他人的域发送电子邮件!
  • 这本质上是一个关于电子邮件如何工作的问题;它不是特定于编程的。相关问题:stackoverflow.com/questions/4142664/…stackoverflow.com/questions/25039481/…

标签: security email authentication


【解决方案1】:

是的,您说得对,技术上没有任何东西阻止您以其他用户的身份发送电子邮件。这被定义为简单邮件传输协议 (SMTP) 的一部分。但是,有一些身份验证过程可以尝试在接收端识别像这样发送的邮件:

  1. DKIM(域名密钥识别邮件)https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail
  2. SPF(发件人策略框架)https://en.wikipedia.org/wiki/Sender_Policy_Framework

很可能实际上是这些身份验证过程的失败将您的邮件定向到您的垃圾文件夹,而不是/以及邮件内容。这与您的电子邮件客户端 UI 中的其他元素(例如 Thunderbird 中的“欺诈检测”)相结合,作为用户,您会发现该电子邮件可能不可信。

DKIM

DKIM 通过非对称密钥工作。只有域的真正所有者知道用于对电子邮件进行数字签名的私有部分,并且他们将公共部分作为 TXT 记录发布在其 DNS 区域中。

当有人收到声称来自 example.com 的电子邮件时,他们的电子邮件客户端将检查邮件上的 DKIM-Signature 标头,并使用已发布的公钥部分来验证邮件是否已正确签名。由于签名还包括消息内容的哈希,这也确保了内容在传输过程中没有被更改以及确保发送者是合法的。

防晒系数

域的真正所有者会发布一个允许代表它发送电子邮件的主机列表,再次作为其 DNS 区域中的 TXT 记录。

当有人收到声称来自 example.com 的电子邮件时,他们的电子邮件客户端将检查发送电子邮件的主机是否已获得域所有者的授权。

【讨论】:

    猜你喜欢
    • 2020-11-01
    • 1970-01-01
    • 2010-09-28
    • 2020-04-18
    • 2014-07-16
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2017-06-07
    相关资源
    最近更新 更多