Cara memeriksa apakah smtp bekerja dari commandline (Linux) [ditutup]


128

Saya memiliki server SMTP, untuk keperluan pertanyaan ini, sebut saja: smtp.mydomain.com.

Bagaimana saya memeriksa apakah server SMTP sedang bekerja? Bisakah saya mengirim email secara manual dari commandline Linux?


@Flexo Tidakkah seharusnya pertanyaan seperti itu dimigrasikan alih-alih ditutup? Yang ini sepertinya milik Serverfault
Balmipour

1
@Balmipour pertanyaan lama tidak dapat dimigrasikan, bahkan oleh moderator. Ada alasan bagus untuk ini yang dibahas di meta.stackexchange.com (saya tidak punya tautan langsung sekarang), tetapi perhatikan bahwa pertanyaannya tidak dihapus.
Flexo

Setelah memeriksa beberapa posting di Meta, sepertinya (untuk saya) migrasi "hanya" perlu dibuka kembali terlebih dahulu. Mungkin ini tidak mungkin dengan pertanyaan lama, btw. Saya kira Anda tahu itu lebih baik dari saya. Bagaimanapun, terima kasih atas jawaban Anda. Poin yang lebih relevan yang saya baca di posting meta adalah bahwa migrasi tampaknya memerlukan pertanyaan "sangat berharga". Bukannya ini tidak berguna, tapi juga bukan permata. Saya tidak mengerti banyak hal ini, karena SO terlalu dibesar-besarkan atas situs lain seperti ServerFault / Linux atau Superuser, tapi saya akan menyimpan perdebatan untuk hari lain (dan itu milik Meta, bukan SO :)
Balmipour

Jawaban:


175

Sintaks untuk membuat koneksi jaringan mentah menggunakan telnet adalah ini:

telnet {domain_name} {port_number}

Jadi telnet ke server smtp Anda suka

telnet smtp.mydomain.com 25

Dan salin dan tempel di bawah ini

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

Catatan: Jangan lupa tanda "." di akhir yang mewakili akhir pesan. Garis keluar "keluar" mengakhiri sesi.


6
Anda harus menunggu respons server untuk setiap perintah, dan batalkan jika Anda mendapatkan kesalahan (kode hasil 4xx atau 5xx).
tripleee

18
Alih-alih hello velanapps.comAnda harus menulis helo velanapps.comdan jika Anda ingin tahu ekstensi smtp mana yang tersedia, Anda harus menulis ehlo velanapps.com, seperti pada Contoh SMTP
jgrocha

4
Anda dapat keluar dengan mengetikkan keluar
rhand

2
Jawaban ini bermanfaat, namun saya menghilangkan baris pertama dalam pengujian saya. Saya masih dapat email dari server smtp. Akan sangat membantu jika Anda dapat memasukkan sedikit tentang apa yang dilakukan domain velanapps.com di sini. Saya selalu waspada ketika saya melihat domain yang digunakan untuk sesuatu seperti ini tanpa penjelasan tentang apa yang dilakukannya dengan data kami. Terima kasih.
Jeremy

2
@ Jeremy Ini hanya data sampel, saya telah menghapusnya dan menambahkan placeholder ...
balanv

26

Satu-satunya hal tentang menggunakan telnet untuk menguji postfix, atau SMTP lainnya, adalah Anda harus mengetahui perintah dan sintaksisnya. Sebagai gantinya, cukup gunakan swap :)

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:~$ 

Itu hanya satu perintah mudah.


2
Saya tidak tahu tentang swap. Terima kasih!
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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.