postfix SMTP连接超时,为什么?

CodeMed

CentOS 7 Web服务器已安装了postfix,dovecot和mailx。我已经能够与服务器建立IMAP连接,以便使用远程Thunderbird客户端读取收件箱邮件,但是我无法建立SMTP连接以从Thunderbird发送电子邮件。进行取证时,我发现尝试的SMTP连接超时。如何解决连接超时的问题,以便可以通过服务器从Thunderbird发送电子邮件?

到目前为止,我的取证结果是:

hostname在服务器上输入终端会返回mydomain.com

nano /usr/lib/firewalld/services/smtp.xml 表示smtp端口为25

在公共区域中激活了smtp服务,因为会firewall-cmd --list-all导致:

public (default, active)
  interfaces: enp3s0
  sources: 
  services: dhcpv6-client imaps openvpn smtp
  ports: 
  masquerade: yes
  forward-ports: 
  icmp-blocks: 
  rich rules: 

但是,当我尝试从devbox远程登录到远程CentOS 7服务器时,会得到以下结果。键入telnet mydomain.com 25导致:

Trying my.SERVER.ip.addr...
telnet: connect to address my.SERVER.ip.addr: Connection timed out

然后输入telnet smtp.mydomain.com 25结果:

Trying my.SERVER.ip.addr...
telnet: connect to address my.SERVER.ip.addr: Connection timed out

另外,键入openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host smtp.mydomain.com结果为:

socket: Connection timed out
connect:errno=110

同样,键入openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host mydomain.com也会导致:

socket: Connection timed out
connect:errno=110

我键入nano /etc/postfix/main.cf以开始检查配置,但未找到任何与端口有关的内容。

编辑:

根据FaheemMitha的建议,我telnet mydomain.com 587从客户那里进行了尝试,并得到No route to host了回复。我认为这是因为在smtp的firewalld中仅打开了端口25。

因此,我想从远程服务器mydomain.com内尝试telnet。当我通过ssh登录到远程服务器并输入时telnet localhost 25,结果是:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix  

这使我怀疑postfix在端口25上运行,但是某种程度上它不能接受外部连接。

编辑#2

按照@RedCricket的建议,我跑了iptables -L由于结果很冗长,因此我将它们上传到了文件共享站点,您可以通过单击此链接来查看该站点。

我还尝试iptables --flushfirewall-cmd --reload,然后尝试,然后从上面重复了telnet和thunderbird的测试,但是我仍然遇到连接超时错误。

我还能尝试什么?

我将整个上传/etc/postfix/main.cf到文件共享站点。您可以通过单击此链接阅读它。

编辑#3

有效的电子邮件地址someone.else@some_other_domain.com可以毫无问题地将电子邮件发送到[email protected]因此,作为测试,我让我的远程Thunderbird客户端尝试将电子邮件发送给该person.else@some_other_domain.com,作为该操作文档中上面记录的工作的一部分。今天早上,由于测试电子邮件,我在Thunderbird中收到了“发回发件人”消息。我将返回的消息解释为意味着至少有我来自Thunderbird的测试消息之一进入了mydomain.com上的SMTP,但是mydomain.com无法查找或以其他方式连接到some_other_domain.com。这是消息:

This is the mail system at host mydomain.com.

I'm sorry to have to someone.elserm you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

<someone.else@some_other_domain.com>: Host or domain name not found. Name service error for
    name=some_other_domain.com type=MX: Host not found, try again

Reporting-MTA: dns; mydomain.com
X-Postfix-Queue-ID: 2C915811BD1C
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Mon, 23 Feb 2015 16:46:34 -0500 (EST)

Final-Recipient: rfc822; someone.else@some_other_domain.com
Action: failed
Status: 4.4.3
Diagnostic-Code: X-Postfix; Host or domain name not found. Name service error
    for name=some_other_domain.com type=MX: Host not found, try again

ForwardedMessage.eml
Subject: key enclosed
From: [email protected]
Date: 02/23/2015 01:46 PM
To:    someone.else@some_other_domain.com

this is the body of the email  

因此,似乎有时关闭了从我的远程devbox到mydomain.com的连接,而在其他时候,则关闭了从mydomain.com到Internet其余部分的连接。

编辑#4

按照@derobert的建议,我首先尝试了从devbox到服务器的两个telnet命令,然后尝试使用devbox上的Thunderbird客户端从[email protected]发送电子邮件,然后在两个devbox并在服务器上。打字tcpdump port 25在devbox终端产生下列:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

在tun0上侦听,链接类型RAW(原始IP),捕获大小65535字节^ C 0捕获的数据包过滤器接收的0数据包内核丢弃的0数据包

接下来,tcpdump在服务器上键入会产生大量输出,结果结果无休止地滚动,直到我键入Ctrl-C为止。因此,我输入tcpdump port 25了以下结果:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

出于好奇,我随后tcpdump port 25同时在devbox和服务器上再次键入内容Ctrl-C,并使其保持打开状态而没有键入,然后我尝试使用devbox上的Thunderbird客户端从[email protected]手动发送电子邮件。我仍然遇到相同的连接超时失败,但是打开tcpdump port 25命令没有报告活动之后,当我Ctrl-C在两个终端上键入内容时,总数也变为零

征服了

经过大量的故障排除后,我们确定客户端的ISP阻止了传出端口25(SMTP)。通过使用Internet上的随机邮件服务器测试站点并发现它可以正常连接到邮件服务器,可以证实这一点。来自客户端计算机的SMTP数据包根本没有到达(通过确认tcpdump)。

解决方案是在其他端口上重新配置SMTP侦听器。常用选项为465(基于SSL的SMTP)和587(邮件提交,RFC6409)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostFix SMTP(Ubuntu 14.04)

来自分类Dev

Postfix:来自未知的连接

来自分类Dev

为什么访问文件被Postfix忽略?

来自分类Dev

将Postfix配置为SMTP中继(仅)

来自分类Dev

postfix日志:RCPT TO之后,SMTP会话停止

来自分类Dev

postfix SMTP身份验证端口25

来自分类Dev

为什么Postfix不拒绝特定客户端的连接尝试?

来自分类Dev

安装Postfix后,为什么不弹出配置界面

来自分类Dev

为什么以这种方式设置postfix-spamassassin-dovecot?

来自分类Dev

为什么 postfix/dovecot 不接收来自 Gmail 的邮件?

来自分类Dev

安装Postfix后,为什么不弹出配置界面

来自分类Dev

postfix配置ubuntu升级:选择什么?

来自分类Dev

多个本地smtp服务器上的Postfix中继

来自分类Dev

通过Java和Postfix服务器发送SMTP邮件

来自分类Dev

通过Postfix使用Gmail时,关闭SMTP的端口25

来自分类Dev

Postfix 可能的 SMTP 攻击和黑名单

来自分类Dev

Postfix尝试连接到域而不是主机名

来自分类Dev

如何获得postfix和dovecot连接到外部域?

来自分类Dev

如何配置 postfix 连接到远程主机上的端口 26?

来自分类Dev

Javamail 无法连接到 postfix localhost 服务器

来自分类Dev

postfix与gmail服务器相比有什么优势

来自分类Dev

我的Linux邮件命令Postfix配置有什么问题?

来自分类Dev

为什么用C ++语法static_assert是声明而不是postfix-expression?

来自分类Dev

无法从centos 7命令行查看postfix电子邮件,为什么不呢?

来自分类Dev

为什么JavaMail连接超时太长

来自分类Dev

为什么我的smtp请求在python中保持超时

来自分类Dev

如何配置Postfix,以便我可以通过SMTP验证到本地主机

来自分类Dev

Postfix SMTP SSL配置:无法发送电子邮件,但可以通过SSL接收

来自分类Dev

使用SMTP拒绝对外部收件人的中继访问POSTFIX FREEBSD

Related 相关文章

  1. 1

    PostFix SMTP(Ubuntu 14.04)

  2. 2

    Postfix:来自未知的连接

  3. 3

    为什么访问文件被Postfix忽略?

  4. 4

    将Postfix配置为SMTP中继(仅)

  5. 5

    postfix日志:RCPT TO之后,SMTP会话停止

  6. 6

    postfix SMTP身份验证端口25

  7. 7

    为什么Postfix不拒绝特定客户端的连接尝试?

  8. 8

    安装Postfix后,为什么不弹出配置界面

  9. 9

    为什么以这种方式设置postfix-spamassassin-dovecot?

  10. 10

    为什么 postfix/dovecot 不接收来自 Gmail 的邮件?

  11. 11

    安装Postfix后,为什么不弹出配置界面

  12. 12

    postfix配置ubuntu升级:选择什么?

  13. 13

    多个本地smtp服务器上的Postfix中继

  14. 14

    通过Java和Postfix服务器发送SMTP邮件

  15. 15

    通过Postfix使用Gmail时,关闭SMTP的端口25

  16. 16

    Postfix 可能的 SMTP 攻击和黑名单

  17. 17

    Postfix尝试连接到域而不是主机名

  18. 18

    如何获得postfix和dovecot连接到外部域?

  19. 19

    如何配置 postfix 连接到远程主机上的端口 26?

  20. 20

    Javamail 无法连接到 postfix localhost 服务器

  21. 21

    postfix与gmail服务器相比有什么优势

  22. 22

    我的Linux邮件命令Postfix配置有什么问题?

  23. 23

    为什么用C ++语法static_assert是声明而不是postfix-expression?

  24. 24

    无法从centos 7命令行查看postfix电子邮件,为什么不呢?

  25. 25

    为什么JavaMail连接超时太长

  26. 26

    为什么我的smtp请求在python中保持超时

  27. 27

    如何配置Postfix,以便我可以通过SMTP验证到本地主机

  28. 28

    Postfix SMTP SSL配置:无法发送电子邮件,但可以通过SSL接收

  29. 29

    使用SMTP拒绝对外部收件人的中继访问POSTFIX FREEBSD

热门标签

归档