【问题标题】:How to check if smtp is working from commandline (Linux) [closed]如何检查 smtp 是否从命令行(Linux)工作 [关闭]
【发布时间】:2012-08-12 21:05:23
【问题描述】:

我有一个 SMTP 服务器,出于这个问题的目的,我们称之为:smtp.mydomain.com。

如何检查 SMTP 服务器是否在工作?我可以从 Linux 命令行手动发送电子邮件吗?

【问题讨论】:

  • @Flexo 这样的问题不应该迁移而不是关闭吗?这个貌似属于Serverfault
  • @Balmipour 旧问题无法迁移,即使是版主也无法迁移。在meta.stackexchange.com 上讨论这个问题是有充分理由的(我现在手头没有链接),但请注意这个问题没有被删除。
  • 在检查了 Meta 上的几篇帖子之后,(对我来说)迁移“只是”需要先重新打开。顺便说一句,也许这对于旧问题是不可能的。我想你比我更清楚这一点。无论如何,谢谢你的回答。我在元帖子中读到的一个更相关的观点是,迁移似乎需要一个“特别有价值”的问题。并不是说这个没用,但它也不是宝石。我不太了解,因为 SO 比 ServerFault / Linux 或 Superuser 等其他网站被高估了,但我会再讨论一天(无论如何它属于 Meta,而不是 SO :)

标签: linux command-line smtp


【解决方案1】:

使用 telnet 建立原始网络连接的语法如下:

telnet {domain_name} {port_number}

所以像 telnet 到你的 smtp 服务器一样

telnet smtp.mydomain.com 25

复制粘贴下面的内容

helo client.mydomain.com
mail from:<sender@mydomain.com>
rcpt to:<to_email@mydomain.com>
data
From: test@mydomain.com
Subject: test mail from command line

this is test number 1
sent from linux box
.
quit

注意:不要忘记“.”最后代表消息的结束。 “退出”行退出结束会话。

【讨论】:

  • 您应该等待服务器对每个命令的响应,如果遇到错误(4xx 或 5xx 结果代码)则中止。
  • 你应该写helo velanapps.com而不是hello velanapps.com,如果你想知道哪些smtp扩展可用,你应该写ehlo velanapps.com,如SMTP Example
  • 你可以输入quit退出
  • 这个答案很有用,但是我在测试中省略了第一行。我仍然从 smtp 服务器收到电子邮件。如果您能在此处包含一些关于 velanapps.com 域在做什么的信息,将会很有帮助。当我看到一个域用于这样的事情时,我总是很谨慎,但没有解释它对我们的数据做了什么。谢谢。
  • @Jeremy 它只是一个示例数据,我已将其删除并添加了占位符...
【解决方案2】:
[root@piwik-dev tmp]# mail -v root@localhost
Subject: Test
Hello world
Cc:  <Ctrl+D>

root@localhost... Connecting to [127.0.0.1] via relay...
220 piwik-dev.example.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 23 Aug 2012 10:49:40 -0400
>>> EHLO piwik-dev.example.com
250-piwik-dev.example.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<root@piwik-dev.example.com> SIZE=46
250 2.1.0 <root@piwik-dev.example.com>... Sender ok
>>> RCPT To:<root@piwik-dev.example.com>
>>> DATA
250 2.1.5 <root@piwik-dev.example.com>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 q7NEneju002633 Message accepted for delivery
root@localhost... Sent (q7NEneju002633 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 piwik-dev.example.com closing connection

【讨论】:

    【解决方案3】:

    不确定这是否有帮助,但这是一个命令行工具,可让您简单地从 SMTP 服务器发送测试邮件。 http://code.google.com/p/woodpecker-tester/

    【讨论】:

      【解决方案4】:

      使用 telnet 测试 postfix 或其他 SMTP 的唯一事情是您必须了解命令和语法。相反,只需使用swaks :)

      thufir@dur:~$ 
      thufir@dur:~$ mail -f Maildir
      "/home/thufir/Maildir": 4 messages
      >    1 thufir@dur.bouncem                   15/553   test Mon, 30 Dec 2013 10:15:12 -0800
           2 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:15:55 -0800
           3 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:29:57 -0800
           4 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 11:54:16 -0800
      ? q
      Held 4 messages in /home/thufir/Maildir
      thufir@dur:~$ 
      thufir@dur:~$ swaks --to thufir@dur.bounceme.net
      === Trying dur.bounceme.net:25...
      === Connected to dur.bounceme.net.
      <-  220 dur.bounceme.net ESMTP Postfix (Ubuntu)
       -> EHLO dur.bounceme.net
      <-  250-dur.bounceme.net
      <-  250-PIPELINING
      <-  250-SIZE 10240000
      <-  250-VRFY
      <-  250-ETRN
      <-  250-STARTTLS
      <-  250-ENHANCEDSTATUSCODES
      <-  250-8BITMIME
      <-  250 DSN
       -> MAIL FROM:<thufir@dur.bounceme.net>
      <-  250 2.1.0 Ok
       -> RCPT TO:<thufir@dur.bounceme.net>
      <-  250 2.1.5 Ok
       -> DATA
      <-  354 End data with <CR><LF>.<CR><LF>
       -> Date: Mon, 30 Dec 2013 14:33:17 -0800
       -> To: thufir@dur.bounceme.net
       -> From: thufir@dur.bounceme.net
       -> Subject: test Mon, 30 Dec 2013 14:33:17 -0800
       -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
       -> 
       -> This is a test mailing
       -> 
       -> .
      <-  250 2.0.0 Ok: queued as 52D162C3EFF
       -> QUIT
      <-  221 2.0.0 Bye
      === Connection closed with remote host.
      thufir@dur:~$ 
      thufir@dur:~$ mail -f Maildir
      "/home/thufir/Maildir": 5 messages 1 new
           1 thufir@dur.bouncem                   15/553   test Mon, 30 Dec 2013 10:15:12 -0800
           2 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:15:55 -0800
           3 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:29:57 -0800
           4 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 11:54:16 -0800
      >N   5 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 14:33:17 -0800
      ? 5
      Return-Path: <thufir@dur.bounceme.net>
      X-Original-To: thufir@dur.bounceme.net
      Delivered-To: thufir@dur.bounceme.net
      Received: from dur.bounceme.net (localhost [127.0.0.1])
          by dur.bounceme.net (Postfix) with ESMTP id 52D162C3EFF
          for <thufir@dur.bounceme.net>; Mon, 30 Dec 2013 14:33:17 -0800 (PST)
      Date: Mon, 30 Dec 2013 14:33:17 -0800
      To: thufir@dur.bounceme.net
      From: thufir@dur.bounceme.net
      Subject: test Mon, 30 Dec 2013 14:33:17 -0800
      X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
      Message-Id: <20131230223317.52D162C3EFF@dur.bounceme.net>
      
      This is a test mailing
      
      New mail has arrived.
      ? q
      Held 5 messages in /home/thufir/Maildir
      thufir@dur:~$ 
      

      这只是一个简单的命令。

      【讨论】:

      • 我不知道 swaks。谢谢!
      • 刚试过swaks 太棒了,哇!在 Debian 中作为标准包提供
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 2013-02-28
      • 1970-01-01
      • 2013-04-12
      • 2012-12-12
      • 2018-08-05
      • 2019-03-11
      相关资源
      最近更新 更多