วิธีตรวจสอบว่า smtp ทำงานจาก commandline (Linux) [ปิด]


128

ฉันมีเซิร์ฟเวอร์ SMTP สำหรับวัตถุประสงค์ของคำถามนี้ให้เรียกมันว่า: smtp.mydomain.com

ฉันจะตรวจสอบว่าเซิร์ฟเวอร์ SMTP ทำงานอยู่ได้อย่างไร ฉันสามารถส่งอีเมลด้วยตนเองจาก commandline Linux ได้หรือไม่


@Flexo ไม่ควรโยกย้ายคำถามเหล่านี้แทนที่จะปิดหรือไม่ อันนี้ดูเหมือนว่าเป็นของ Serverfault
Balmipour

1
@Balmipour ไม่สามารถโยกย้ายคำถามเก่า ๆ ได้แม้จะเป็นผู้ดำเนินรายการ มีเหตุผลที่ดีสำหรับเรื่องนี้ที่กล่าวถึงในmeta.stackexchange.com (ตอนนี้ฉันยังไม่มีลิงค์สำหรับเชื่อมโยง) แต่โปรดทราบว่าคำถามจะไม่ถูกลบ
เฟล็กโซ

หลังจากตรวจสอบหลายโพสต์บน Meta ดูเหมือนว่า (สำหรับฉัน) การย้ายข้อมูล "เพิ่ง" ต้องเปิดใหม่ก่อน อาจเป็นไปไม่ได้สำหรับคำถามเก่า ๆ btw ฉันเดาว่าคุณรู้ดีกว่าฉัน อย่างไรก็ตามขอบคุณสำหรับคำตอบของคุณ จุดที่เกี่ยวข้องมากขึ้นที่ฉันได้อ่านในโพสต์เมตาคือการโยกย้ายดูเหมือนจะต้องมีคำถาม "มีค่าโดยเฉพาะ" ไม่ใช่ว่าอันนี้ไร้ประโยชน์ แต่ก็ไม่ใช่อัญมณีเช่นกัน ฉันไม่เข้าใจมากนี้เนื่องจากเพื่อให้เป็น overrated มากกว่าเว็บไซต์อื่น ๆ เช่น ServerFault / Linux หรือ Superuser แต่ฉันจะให้การอภิปรายสำหรับวันอื่น (และมันเป็น Meta ต่อไปไม่ได้ดังนั้น :)
Balmipour

คำตอบ:


175

ไวยากรณ์สำหรับการสร้างการเชื่อมต่อเครือข่ายโดยใช้ 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

หมายเหตุ:อย่าลืม "." ในตอนท้ายซึ่งแสดงถึงจุดสิ้นสุดของข้อความ บรรทัด "ออกจาก" จบลงด้วยการจบเซสชัน


6
คุณควรรอการตอบกลับของเซิร์ฟเวอร์สำหรับแต่ละคำสั่งและยกเลิกหากคุณได้รับและเกิดข้อผิดพลาด (รหัสผลลัพธ์ 4xx หรือ 5xx)
tripleee

18
แทนที่จะhello velanapps.comเขียนhelo velanapps.comและหากคุณต้องการทราบว่ามีส่วนขยาย smtp ใดบ้างคุณควรเขียนehlo velanapps.comดังเช่นในตัวอย่าง SMTP
jgrocha

4
คุณสามารถออกได้โดยพิมพ์ exit
rhand

2
คำตอบนี้มีประโยชน์ แต่ฉันเว้นบรรทัดแรกในการทดสอบ ฉันยังได้รับอีเมลจากเซิร์ฟเวอร์ smtp มันจะมีประโยชน์หากคุณสามารถรวมเกี่ยวกับสิ่งที่โดเมน velanapps.com กำลังทำอยู่ที่นี่ ฉันมักจะระวังเมื่อฉันเห็นโดเมนที่ใช้สำหรับสิ่งนี้โดยไม่มีคำอธิบายเกี่ยวกับสิ่งที่มันทำกับข้อมูลของเรา ขอบคุณ
Jeremy

2
@ Jeremy ใช้เพียงข้อมูลตัวอย่างฉันได้ลบมันและเพิ่มตัวยึด ...
balanv

26

สิ่งเดียวที่เกี่ยวกับการใช้ 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:~$ 

มันเป็นเพียงคำสั่งเดียวที่ง่าย


2
ฉันไม่รู้เรื่อง swaks ขอบคุณ!
Peter Loron

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

2

ไม่แน่ใจว่าสิ่งนี้จะช่วยได้หรือไม่ แต่นี่เป็นเครื่องมือบรรทัดคำสั่งที่ให้คุณส่งเมลทดสอบจากเซิร์ฟเวอร์ SMTP ได้ตามปกติ http://code.google.com/p/woodpecker-tester/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.