如何找出 SMTP 服务器主机? [关闭]

Posted

技术标签:

【中文标题】如何找出 SMTP 服务器主机? [关闭]【英文标题】:How to figure out the SMTP server host? [closed] 【发布时间】:2010-11-30 11:24:53 【问题描述】:

我正在使用 SMTP 通过 php 发送电子邮件。 我的客户有一个共享主机。 我在那里创建了一个电子邮件帐户。

没有关于此帐户的 SMTP 服务器的可用信息。 我试过了:smtp.domainname.com 但它无法连接。

如何确定我的 SMTP 服务器主机?有什么想法吗?

【问题讨论】:

问题已解决。它是 mail.domainname.com :我只是弄乱了“发件人”字段。 【参考方案1】:

这确实是 Serverfault 的问题。

Windows:

    打开命令提示符 (CMD.exe) 输入nslookup 并回车 输入set type=MX并回车 输入域名并回车,例如:google.com 结果将是为 SMTP 设置的主机名列表

Linux:

    打开命令提示符 键入dig domain.name MX 并按回车键,其中 domain.name 是您要查找的 smtp 服务器的域。

如果您没有从您的 dns 服务器收到任何回复,则很有可能没有为该域设置任何 SMTP 服务器。如果是这种情况,请按照其他人的建议去做,并致电托管公司的技术支持。

【讨论】:

这确实应该是答案,但请记住,这只会为您提供“外部”SMTP 服务器,即从其他电子邮件服务器接收电子邮件的服务器。有很多公司使用“内部”邮件服务器来接受要发送的邮件。该服务器可能不一样,尽管它通常在小公司中。 如果在同一内部网络上运行,此方法也应该适用于内部服务器(假设内部 DNS 设置正确)。 实际上,MX 记录告诉您域为 incoming 电子邮件指定了哪些服务器,但没有具体保证您可以使用相同的服务器出站。【参考方案2】:

一般 smtp 服务器名称是 smtp.yourdomain.com 或 mail.yourdomain.com 打开命令提示符尝试运行以下两个命令

    >ping smtp.yourdomain.com >ping mail.yourdomain.com

你很可能会从以上两个命令中的任何一个得到响应。那将是你的 smtp 服务器

如果这不起作用打开你的cpanel --> go to your mailing accounts -- > click on configure mail account -- > there somewhere in the page you will get the information about your smtp server

可能会这样写:

Incoming Server:    mail.yourdomain.com
IMAP Port: ---
POP3 Port: ---
Outgoing Server:    mail.yourdomain.com
SMTP Port: ---

【讨论】:

【参考方案3】:

您可以给自己发送一封电子邮件,查看电子邮件标题(在 Outlook 中:打开邮件,查看->选项,有“Internet 标题”)

【讨论】:

好吧,我做到了。我给自己发了一封电子邮件(到 gmail 帐户)。我读了它的标题。但是那里有很多信息。不像 smtp.domainname.com 或 mail.domainname.com 导航路径在我的 Outlook 中查看 Internet 标题:打开邮件>>文件>>属性。在标题中查找类似“Recieved: from some.domain.org ... by ... our.domain.org”的文本【参考方案4】:

您可以使用 dig/host 命令查找 MX 记录,以查看哪个邮件服务器正在处理此域的邮件。

在 Linux 上你可以这样做,例如:

$ host google.com
google.com has address 74.125.127.100
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com mail is handled by 10 google.com.s9a2.psmtp.com.
google.com mail is handled by 10 smtp2.google.com.
google.com mail is handled by 10 google.com.s9a1.psmtp.com.
google.com mail is handled by 100 google.com.s9b2.psmtp.com.
google.com mail is handled by 10 smtp1.google.com.
google.com mail is handled by 100 google.com.s9b1.psmtp.com.

(如你所见,google 有相当多的邮件服务器)

如果您使用的是 Windows,您可以使用 nslookup (?) 或尝试一些网络工具(例如 that one)来显示相同​​的信息。

虽然这只会告诉您该域的邮件服务器。无法以这种方式收集所有其他所需的设置。您可能需要询问供应商。

【讨论】:

【参考方案5】:

要在 WIN/DOS 命令行中自动回答 @Jordan S. Jones 的问题,

把它放在一个名为:getmns.bat(获取邮件名称服务器)的批处理文件中:

@echo off
if @%1==@ goto USAGE
echo set type=MX>mnscmd.txt
echo %1>>mnscmd.txt
echo exit>>mnscmd.txt
nslookup<mnscmd.txt>mnsresult.txt
type mnsresult.txt
del mnsresult.txt
goto END
:USAGE
echo usage:
echo %0 domainname.ext
:END
echo.

例如:

getmns google.com

输出:

google.com      MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
google.com      MX preference = 10, mail exchanger = aspmx.l.google.com
google.com      MX preference = 50, mail exchanger = alt4.aspmx.l.google.com
google.com      MX preference = 40, mail exchanger = alt3.aspmx.l.google.com
google.com      MX preference = 30, mail exchanger = alt2.aspmx.l.google.com

alt4.aspmx.l.google.com internet address = 74.125.25.27
alt3.aspmx.l.google.com internet address = 173.194.72.27
aspmx.l.google.com      internet address = 173.194.65.27
alt1.aspmx.l.google.com internet address = 74.125.200.27
alt2.aspmx.l.google.com internet address = 64.233.187.27

例如,将结果再次通过管道传输到文件中:

getmns google.com > google.mns.txt

:-D

【讨论】:

【参考方案6】:

快速示例:

在 Ubuntu 上,如果您对 Gmail 等感兴趣,请打开终端并输入:

nslookup -q=mx gmail.com

【讨论】:

【参考方案7】:

向您客户的托管服务提供商发送电子邮件技术支持并索取信息。

【讨论】:

以上是关于如何找出 SMTP 服务器主机? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何解决“无法与主机smtp.gmail.com建立连接”?

禅道升级 & SMTP 错误:无法连接到 SMTP 主机

SMTP简单邮件协议的服务配置

电子邮件如何从 SMTP 传输到 IMAP?

如何检查 smtp 是不是从命令行(Linux)工作 [关闭]

如何在 PHPMailer 中指定 SMTP 服务器?