代码之家  ›  专栏  ›  技术社区  ›  flybywire

SMTP电子邮件头:返回路径对发件人对发件人

  •  24
  • flybywire  · 技术社区  · 15 年前

    请帮我订一些邮件头。

    以下每一个都是什么意思:返回路径、发送者、发件人。

    这个问题是在一个电子邮件接收应用程序的上下文中被问到的(比如 posterous 克隆)。

    • 什么是容易伪造的?
    • 什么可以被验证?
    • 在什么情况下,他们三个或两个会有所不同?
    3 回复  |  直到 11 年前
        1
  •  30
  •   Jeremy Cook    12 年前

    根据我的经验-

    • 发件人是撰写电子邮件的人。这可以由用户的邮件软件设置。

    • 返回路径是应在其中传递退回消息(无法传递的通知等)的地址。它可以由发送或接收邮件服务器设置,有时也可以由用户的邮件软件设置。对于普通邮件,它通常与发件人地址相同。一些消息(通常是系统生成的消息)可能使用不同的返回路径,而反弹消息通常将其保留为空。

    • 发件人是发送电子邮件的人,如果与发件人不同(“发件人” 发件人 代表 “”。有时这是由用户的邮件软件设置的,有时是由他们的邮件服务器设置的。如果有这个地址,应该与发件人地址不同。

    这些头都可以很容易地被伪造,所以验证几乎是不可能的。

    但是,如果发送域有SPF记录,则 可以 根据该域的已批准邮件服务器列表验证收到的邮件头。这至少可以告诉您消息是否真的来自该域,但不能保证特定用户发送了消息(它可能被同一域中的另一个用户欺骗)。另外,并非所有的域都发布SPF记录,所以它并不总是一个选项。

        2
  •  8
  •   Brandon    11 年前

    “发件人”标题,它的目的是成为邮件的发件人。它是收件人的电子邮件客户端应显示邮件的发件人。

    返回路径头指定应在何处传递答复(或bounces/ndr)。这可能不同于邮件列表中的“发件人”地址,以及许多自动消息,其中跳转被发送到删除不可送达地址的系统。

    发送者可以被认为是FROM头的更具体的版本。如果消息是由某人或某个实际“发件人”地址的其他系统发出的。例如,当为不由gmail承载的域配置gmail时。在这种情况下,FROM头将包含“you@yourdomain.com”,但发件人将是“someuser@gmail.com”。许多邮件客户端现在将其呈现为“someuser@gmail.com,代表您@yourdomain.com”。“sender”头应用于邮件身份验证(spf/dkim),因为这是实际发出消息的系统。

        3
  •  0
  •   Steve Smith    12 年前

    我想补充一点,在我们的经验中,您无法验证是谁从邮件头发送邮件。

    出于这个原因,许多人将实现一次性地址(example+uniquecode@example.com),并为每个传出消息提供一个要发送的地址,作为验证发送消息的人的方法。其他一些用户在主题行中包含一些内容。

    荒谬的 FAQ's 建议他们做些别的事情,以确保你说的是你自己。例如,您可以跟踪第一次向电子邮件服务器发送电子邮件的服务器的IP/DNS,然后要求用户确认是否存在问题。虽然很容易欺骗邮件头,但不容易接收到他们的邮件。

    推荐文章