Linux terminal ให้พลังและความสามารถในการทำงานมากมายด้วยไม่กี่คำสั่ง สำหรับผู้ที่ใช้เวลาส่วนใหญ่ใน terminal คุณสามารถส่งอีเมลได้โดยตรงจาก Terminal คู่มือนี้จะพาคุณไปรู้จักวิธีและเครื่องมือต่างๆ สำหรับส่งอีเมลจาก Linux terminal
หมายเหตุ: เพื่อส่งอีเมลจาก terminal ต้องแน่ใจว่ามี mail server ตั้งค่าและทำงานถูกต้องแล้ว
วิธีแรกและง่ายที่สุดคือใช้ utility mail utility เรียบง่ายนี้ระบุ recipient, email subject และแนบไฟล์ได้ด้วยออปชันไม่กี่ตัว
โดย default mail utility มา pre-installed ใน Linux distributions หลายตัว ตรวจสอบว่าติดตั้งแล้วหรือยังด้วยคำสั่ง which:
which mail
หากได้ผลลัพธ์แบบ "/usr/bin/mail" แสดงว่าติดตั้งแล้ว หากยังไม่มี ติดตั้งผ่าน package manager เช่น Debian:
sudo apt-get update && sudo apt-get install mailutils
ใช้ mail ส่งอีเมล ด้วยคำสั่ง mail ตามด้วย -s ระบุ subject ตัวอย่าง ส่งข้อความในไฟล์ "message.txt":
mail -s "Hello world" info@mail.com < message.txt
คำสั่งจะอ่านเนื้อหาไฟล์เป็น message body
ส่ง message body จากคำสั่งอย่าง echo ได้ เช่น:
echo "This is the message body" | mail -s "Hello world" info@mail.com
แนบไฟล์ด้วยออปชัน -A เช่น:
echo "Sample odt file" | mail -s "Attachments" info@mail.com -A ~/Documents/sample.odt
Sendmail
Utility ถัดไปคือ Sendmail utility เรียบง่ายแแรง สำหรับส่งอีเมลจาก terminal
หากยังไม่มี Sendmail ติดตั้งได้ด้วย:
sudo apt-get install sendmail sendmail-cf -y
เริ่มด้วยการสร้างไฟล์เก็บ email content:
Subject: Hello World! This is the message body .... ..... .... ... close.
Sendmail จะหา subject header ใช้เป็น subject title ส่งด้วยคำสั่ง:
cat sendmail.txt | /usr/sbin/sendmail info@mail.com
Telnet
สำหรับผู้ทำงานกับ remote servers มาก telnet น่าจะเป็นเครื่องมือสำหรับส่งอีเมล เริ่มด้วยการเปิด terminal พิมพ์:
telnet test.server.net 25
หาก mail server รันบน port อื่น แทนที่ 25 ด้วย target port หลังเชื่อมต่อ ใช้ telnet ทักทาย server:
helo example.com
บาง server ตอบ ehlo แทน helo หรือทั้งคู่ก็ได้
ตั้งค่า email sender:
MAIL FROM: info@example.com
ตั้งค่า recipient:
RCPT TO: demo@info.com
เขียนเมลล์ในรูปแบบ:
DATA Subject: Hello world Hello world, This is the body of the email Proceed here and terminate with . Finally, close the telnet session with quit. QUIT
Mutt
Mutt เป็น utility อีกตัวสำหรับส่งและอ่านอีเมลจาก terminal คล้าย mail command ติดตั้งด้วย:
sudo apt-get install mutt
ส่งอีเมลด้วย mutt:
cat sendmail.txt | mutt -s "Hello world" info@mail.com
คำสั่งส่งเนื้อหา sendmail.txt เป็น email body ให้ mutt
สรุป
การส่งอีเมลจาก terminal มีประโยชน์มากเมื่อทำงานใน terminal-only environment อ่านต่อเพื่อเรียนรู้การใช้ lp command พิมพ์ไฟล์จาก Terminal และค้นหาเว็บจาก terminal ด้วย S