如何检查smtp是否从命令行运行(Linux)[关闭]


128

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

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


@Flexo这样的问题不应该迁移而不是封闭吗?这看起来像属于Serverfault
Balmipour 2015年

1
@Balmipour的旧问题即使是主持人也无法移植。有充分的理由在meta.stackexchange.com上进行讨论(我现在没有链接),但请注意,该问题并未删除。
Flexo

在检查了Meta上的几篇文章之后,(对我而言)迁移“正义”似乎需要首先重新打开。顺便说一句,也许这对于旧问题是不可能的。我想你比我更了解。无论如何,谢谢您的回答。我在元文章中读到的一个更相关的观点是,迁移似乎需要一个“特别有价值”的问题。并不是说这个没用,但它也不是珠宝。我不太了解,因为SO在ServerFault / Linux或Superuser等其他网站上被高估了,但我将辩论
再拖

Answers:


175

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

telnet {domain_name} {port_number}

所以远程登录到您的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

注意:不要忘记“。” 在代表消息末尾的末尾。“退出”行退出将结束会话。


6
您应该等待服务器对每个命令的响应,如果出现错误(4xx或5xx结果代码),则中止操作。
2012年

18
而不是hello velanapps.com您应该写,helo velanapps.com并且如果您想知道哪些smtp扩展可用,您应该写ehlo velanapps.com,如SMTP示例
jgrocha 2014年

4
您可以通过键入quit退出
rhand 2015年

2
这个答案很有用,但是我在测试中省略了第一行。我从smtp服务器收到电子邮件。如果您可以在此包含一些有关velanapps.com域正在做什么的信息,将很有帮助。当我看到某个域用于诸如此类的内容而没有解释其对我们的数据的处理方式时,我总是很警惕。谢谢。
杰里米(Jeremy)

2
@Jeremy它只是一个示例数据,我已将其删除并添加了占位符...
balanv

26

使用telnet测试后缀或其他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:~$ 

这只是一个简单的命令。


2
我不知道燕子。谢谢!
彼得·洛伦

17
[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

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.