How to send Email with netcat
การส่งเมล์ผ่าน linux command line สามารถทำได้หลากหลายวิธีด้วยกันซึ่งขึ้นอยู่กับความถนัดของผู้ใช้และโปรแกรมที่มีอยู่ในระบบเป็นหลัก แต่ถ้าหากต้องการส่งเมล์เพื่อทดสอบระบบแล้ว การรันคำสั่งและมีขั้นตอนการพิมพ์ข้อมูลการส่งทุกครั้งจะทำให้เสียเวลาในการทดสอบในแต่ละครั้งค่อนข้างมาก
ในบทความนี้จะแนะนำวิธีการส่งเมล์ที่รวกเร็วสำหรับนำไปใช้ในการทดสอบระบบ ด้วยคำสั่ง nc ซึ่งจะช่วยให้ส่งเมล์ได้ด้วยคำสั่งเดียว
วิธีการรับส่งเมล์ด้วยคำสั่ง nc สามารถทำได้ดังขั้นตอนด้านล่าง ดังนี้
รันคำสั่ง date ตามด้านล่าง เพื่อสร้าง date format เพื่อไปใส่ยัง Date:
1 2 3 |
# date '+%a, %d %b %Y %H:%M:%S %z' |
ผลลัพธ์
1 2 3 |
Thu, 12 Mar 2015 12:00:35 +0700 |
สร้างไฟล์ชุดคำสั่งสำหรับการส่งเมล์ โดยในตัวอย่างนี้ให้ชื่อว่า /tmp/test_message
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
HELO host1.ezylinux.com MAIL FROM:<user1@ezylinux.com> RCPT TO:<user2@ezylinux.com> DATA From: [User1] <user1@ezylinux.com> To: <user2@ezylinux.com> Date: Thu, 12 Mar 2015 12:00:35 +0700 Subject: Test sending message Have a good day! . QUIT |
รันคำสั่ง nc เพื่อทำการส่ง email
1 2 3 4 5 6 7 8 9 10 |
# 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 <CR><LF>.<CR><LF> 250 2.0.0 Ok: queued as 9434DA802F7 221 2.0.0 Bye |
หลังจากรัน command เสร็จให้ตรวจสอบเมล์ได้เลยครับ