netcat-nc
การส่งเมล์ผ่าน linux command line สามารถทำได้หลากหลายวิธีด้วยกันซึ่งขึ้นอยู่กับความถนัดของผู้ใช้และโปรแกรมที่มีอยู่ในระบบเป็นหลัก แต่ถ้าหากต้องการส่งเมล์เพื่อทดสอบระบบแล้ว การรันคำสั่งและมีขั้นตอนการพิมพ์ข้อมูลการส่งทุกครั้งจะทำให้เสียเวลาในการทดสอบในแต่ละครั้งค่อนข้างมาก

ในบทความนี้จะแนะนำวิธีการส่งเมล์ที่รวกเร็วสำหรับนำไปใช้ในการทดสอบระบบ ด้วยคำสั่ง nc ซึ่งจะช่วยให้ส่งเมล์ได้ด้วยคำสั่งเดียว

วิธีการรับส่งเมล์ด้วยคำสั่ง nc สามารถทำได้ดังขั้นตอนด้านล่าง ดังนี้

รันคำสั่ง date ตามด้านล่าง เพื่อสร้าง date format เพื่อไปใส่ยัง Date:
# date '+%a, %d %b %Y %H:%M:%S %z'

ผลลัพธ์
Thu, 12 Mar 2015 12:00:35 +0700

สร้างไฟล์ชุดคำสั่งสำหรับการส่งเมล์ โดยในตัวอย่างนี้ให้ชื่อว่า /tmp/test_message

HELO host1.ezylinux.com
MAIL FROM:
RCPT TO:
DATA
From: [User1]
To:
Date: Thu, 12 Mar 2015 12:00:35 +0700
Subject: Test sending message

Have a good day!
.
QUIT

รันคำสั่ง nc เพื่อทำการส่ง email

# nc smtp.ezylinux.com 25 < /tmp/test_message 220 mail.ezylinux.com ESMTP Postfix 250 mail.ezylinux.com 250 2.1.0 Ok 250 2.1.5 Ok 354 End data with .
250 2.0.0 Ok: queued as 9434DA802F7
221 2.0.0 Bye

หลังจากรัน command เสร็จให้ตรวจสอบเมล์ได้เลยครับ