是否可以通过IP地址而不是从域发送和接收电子邮件?


18

通常,电子邮件在@的右侧具有域名,因此您可以识别组织或公司。实际上,该域不过是由名称服务器解析的IP地址的“名称”或“别名”。

我认为这可以用于例如物联网,因为与POST和GET相比,还有更多的可能性,例如“多对一”或“一对多”。

有没有一种方法可以直接发送和接收来自IP地址的电子邮件,例如,以user@xxx.xxx.xx.xxx的身份?


6
另外:如果您认为HTTP对物联网的限制太多,请查看MQTT或XMPP。
罗杰·利普斯科姆

3
域不仅仅是“ IP地址的名称”。域可以发布有关其邮件服务的更多信息(通过其DNS条目),其中可能包括用于多个邮件服务器的多个IP地址(即,用于负载平衡或回退目的)。
jjmontes

4
电子邮件不是一对一的,而是一对一的,然后服务器可能会将邮件传播给许多人。您可以在服务器上进行http发布,然后让许多客户端以与电子邮件使用完全相同的模型来读取该服务器。
djsmiley2k-CoW

2
作为需要定期进行网络考古的人员,请不要对IP进行硬编码。DNS并非难事,DNS服务器(如dnsmasq)是轻量级的,同时允许主机覆盖。Internet IP将随着时间而改变。
Criggie

1
该域不是IP地址的别名。具体来说,电子邮件具有MX记录,其中域名映射到一个既包含优先级又包含主机名的一个或多个元组(电子邮件将在其中发送)。您正在混合两个不同的概念:命名(也将其发送给谁)和地址(将其发送到何处)。
Patrick Mevzek '18

Answers:


17

对于电子邮件,域不仅是IP地址的别名或人类可读形式:存在邮件交换器 MX记录以指定负责代表接收者域的电子邮件服务器。可能有几台服务器为该域接受邮件,并且它们不一定位于A该域记录中的同一IP上。一个邮件系统可以有多个服务器:传入服务器可能与传出服务器,邮件存储服务器等分开。A仅当没有MX为主机名指定记录时才使用该记录。

但是,电子邮件地址格式没有(其他)限制,您不能直接将电子邮件发送到<user@hostname.example.com>(甚至<user@[198.51.100.10]>带有方括号的IP)。如果有一个邮件服务器接受使用纯主机名甚至IP地址的电子邮件,那么它将这样做。但是您的建议实际上在全球范围内行不通:

  • 大多数电子邮件系统都有多个域,因此需要分别处理所有域。用户名本身可能尚未绑定到任何实际的邮箱,因为该用户名可能<user@example.com>不同于<user@example.net>
  • 尽管这是几十年前的普遍现象,但与垃圾邮件作斗争却使事情变得更加复杂,并且接受电子邮件有严格的限制。
  • 25由于滥用(水龙头),在消费级互联网连接上SMTP端口的使用非常受限制。IoT设备实际上并没有太多使用SMTP。

2
但是,如果没有针对域(或IP)的MX dns记录,则将电子邮件地址(主机名或IP地址)的域部分传递(或尝试传递到)邮件。并且必须将接收服务器配置为处理该主机名/ IP地址的邮件。
ivanivan '18

1
可以处理主机名的邮件。并非世界上的每个服务器都可以处理邮件。大多数基于Unix / Linux的服务器的确有SMTP服务器来处理内部邮件(来自cron等),但是它们也可以很好地工作。
Esa Jokinen '18

1
Esa-如果您将MX记录指向我的后缀服务器,则将建立SMTP连接,但我的服务器未配置为以任何形式或形式处理您域的邮件,因此您会被退回。但是我的服务器是为多个特定的域和用户设置的,它们都来自mysql服务器。这完全取决于1)邮件服务器是否实际在您要向其发送邮件的IP上运行,以及2)所述邮件服务器是否配置为接受发往该IP或仅特定域/域或所有域的邮件(仅匹配地址的用户部分)
ivanivan '18

13

许多SMTP服务器(例如sendmail)处理user@[aaa.bbb.ccc.ddd]电子邮件地址

  1. 某些SMTP服务器无法处理/识别它,
    它们可能拒绝接受该发件人地址或无法发送到该地址。
  2. 这些地址可能会导致某些反垃圾邮件软件出现问题

RFC-5322:3.4.1。地址规格


维基百科:电子邮件地址-域部分

此外,域可以是IP地址文字,并用方括号[]括起来,例如jsmith @ [192.168.2.1]或jsmith @ [IPv6:2001:db8 :: 1],尽管除了在电子邮件垃圾邮件


9
请注意,user@[aaa.bbb.ccc.ddd]根据规范,类似的电子邮件地址是正确的,并且正确定义了处理方式,因此,从技术上讲,不处理该地址的服务器将被“破坏”
Ferrybig

4
@Ferrybig:是的,因为从技术上讲,拒绝也​​是处理方法。
Esa Jokinen '18

请注意,“电子邮件已发送到特定的IP地址而不是主机”在“可能是垃圾邮件”危险信号类别中排名很高,许多AVAS软件可能决定静默丢弃它。
Shadur

3

如果所有相关方都使用真正的现代软件,则它应该起作用。

尽管SMTP在TCP上可以很好地分层,但至少以其原始形式,它本身并不是基于TCP / IP的协议。如果您查看原始的RFC 821,则在附录中定义了“ TCP传输”。

RFC 2821(从1989年开始)考虑使用数字地址“被隔离”。

甚至更现代的规范版本在某种程度上从RFC5321秉承了这一理念:“ SMTP与特定的传输子系统无关,并且仅需要可靠的有序数据流通道。尽管本文档专门讨论了通过TCP进行的传输,但其他传输也是可能的。RFC 821 [1]的附录描述了其中一些。”

但是,此RFC-实际上来自2008年的RFC,确实批准将“地址文字”使用为“允许的”(“为了绕过此障碍,地址的特殊文字形式允许作为域的替代方式名称。”),但在第4.1.4节中仍然不建议使用“ SHOULD NOT”。

SMTP和围绕它构建的许多软件都使用主机(而不是IP地址)作为其“本机货币”-如果“地址文字”可用作“主机”,就可以了。在旧的电子邮件生态系统中与基于SMTP的系统一起使用的(几乎过时的)非SMTP协议(例如UUCP邮件)也是如此。

依赖于所涉及的每个系统完全符合2008年标准可能比看起来要冒险的多。


2
RFC 5321#2.1.4不批准使用地址文字:它说“不应该”(然后链接到错误的部分)。RFC 2821不太旧-早在2001
。– Rup

1
我会说这证明了我的观点:) ..整合了有关“微观制裁”的说明,thx
rackandboneman 18-4-6
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.