2011-05-26 166 views
15

我试图避免通过DNS服务器运行,以便将电子邮件发送到我托管的虚拟帐户中的某个地址。使用IP地址而不是域名发送电子邮件

我知道我可以用方括号包围IP地址,但是如何指定服务器上(虚拟)托管帐户的邮箱用户名?

换句话说,

  • 我已经托管的虚拟服务器上的多个域 - 所有共享同一个IP地址
  • 明显,[email protected]工作正常
  • ,但我该怎么办发送给用户@ [123.456.78.90]

是我想要做的,可能吗?

谢谢。

回答

6

虚拟主机需要一个域名才能找出该做什么。您想要将其发送到IP地址而不是域名。因此它不会通过正常的方法工作。如果没有匹配,您可以指定一个“默认”域名否则,您唯一的希望就是手动伪造电子邮件。通过这种方式,我的意思是:用Cjdns IP地址时

telnet 123.456.78.9 25 
HELO myhostname.mydomain 
MAIL From: <[email protected]> 
RCPT To: <[email protected]> 
DATA 
From: [email protected] 
To: [email protected] 
Subject: Testing 

This is a test 
. 
QUIT 
+0

如何将域名伪造成IP格式?域只用于允许同一IP上的多个实例。我猜真正的问题不是发送它,问题是接收器不会接受你的电子邮件连接。其中一些人不会接受你的规则/列表/测试和其他一些,所以删除主机名/域将是一个快速的方式离开系统。 – erm3nda 2014-12-30 07:53:03

1

你想要做什么是可能的,甚至是安全的。某些客户(例如笨蛋)被“破坏”并将原始ips作为域名扼杀。 (虽然在技术上是坏的,但一个不常见的用例 - mutt是一个很好的客户端。)

你需要告诉你的MTA接受原始ip。例如。在sendmail的,加 [123.456.78.9] 到/ etc /邮件/本地主机名

您还可以打开accept_unresolvable_domains如sendmail的似乎并不认为已经解决了域名为“解析”。 (其他MTA可能需要不同的调整。)

我使用thunderbird发送到raw ips,它工作得很好。朋友使用爪子邮件没有问题。

+0

啊,从命令行使用sendmail不处理原始ips - 但SMTP工作正常。如果mutt配置为运行sendmail而不是使用SMTP,那可能是问题所在。 – 2017-08-31 04:11:52

相关问题