How to send Email with netcat
การส่งเมล์ผ่าน 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 เสร็จให้ตรวจสอบเมล์ได้เลยครับ