ส่งอีเมลจาก Terminal Linux จำเป็น โดยเฉพาะตอนอัตโนมัติอีเมลด้วย Shell script โปรแกรมอีเมลอย่าง Thunderbird, Evolution อาจดูเป็นเครื่องมือมาตรฐาน แต่บางครั้งรู้สึก Bloated (อิ่มไปด้วยฟีเจอร์) ถ้าสบายกับ Command line อาจจะดีกว่า ส่ง/รับอีเมลผ่านระบบหัวใจของ Linux โดยตรง
ตั้งค่า Gmail และ Email clients อื่นๆ ใน Linux เข้าถึง Mailbox, ส่ง/ตอบอีเมลจาก Terminal ได้ ต้องตั้งค่า Mutt ก่อน จะทำให้ง่ายขึ้นในระยะยาว
Mutt คืออะไร?
Mutt เป็น Email client แบบ Text-based เปิดโค้ด ใช้โอน/รับอีเมลระหว่าง Hosts ผ่าน SMTP (Simple Mail Transfer Protocol) ติดตั้ง Mutt ด้วยคำสั่งไม่มาก แล้วตั้งค่า Gmail mailbox ได้ง่าย
คุณสมบัติ Mutt ที่น่าสนใจ
ก่อนดำเนินการ อยากรู้ว่าทำไม Mutt พิเศษสำหรับ Linux ฟีเจอร์ที่พิสูจน์ความสามารถ Mutt เป็น Mailbox handler:
- ติดตั้งและตั้งค่าน่ายนิดเดียว
- ส่งอีเมลพร้อมไฟล์แนบ Single/Multiple จาก Command line ได้
- Mutt รองรับส่งเมลไป CC และ BCC
- รองรับ Message threading อย่างเต็มที่
- ใช้งาน Mailing lists ได้ดี
- รองรับ Mailbox formats หลากหลาย: mbox, maildir, MMDF, MH
- มีอย่างน้อย 20 ภาษา
- รองรับ DSN (Delivery Status Notification)
วิธีติดตั้ง Mutt บน Linux
Mutt ไม่ใช่ Package มาตรฐาน Linux ไม่ Pre-installed ต้องติดตั้งเองด้วย Package manager
Ubuntu และ Debian:
sudo apt-get install mutt
RHEL/CentOS ใช้ YUM:
sudo yum install mutt
Fedora:
sudo dnf install mutt
Arch-based ใช้ Pacman:
sudo pacman -S mutt
วิธีตั้งค่า Mutt บน Linux
ขั้นตอนตั้งค่าแรก: สร้าง Directory เก็บ Mail, Headers, Certificates หลังติดตั้ง
รันคำสั่งทีละอัน:
mkdir -p ~/.mutt/cache/headers
mkdir ~/.mutt/cache/bodies
touch ~/.mutt/certificates
สร้างไฟล์ Config Mutt ด้วย touch:
touch ~/.mutt/muttrc
เปิด muttrc ด้วย Text editor โปรด:
sudo nano ~/.mutt/muttrc
Editor เปิดแล้ว เริ่มใส่รายละเอียด IMAP และ SMTP ของ Mailbox เพื่อตั้งค่า Incoming/Outgoing mail
ตั้งค่าดังนี้:
set from = "username@gmail.com"
set realname = "First Last"
# IMAP settings
set imap_user = "username@gmail.com"
set imap_pass = "<mailbox password>"
# SMTP settings
set smtp_url = "smtps://username@smtp.gmail.com"
set smtp_pass = "<mailbox password>"
# Remote Gmail folders
set folder = "imaps://imap.gmail.com/"
set spoolfile = "+INBOX"
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set trash = "+[Gmail]/Trash"
ตัวอย่างตั้งค่า Gmail ด้วย Mutt แทนที่ username, First, Last ในสนิปเพทด้วย Username อีเมล ชื่อ นามสกุล จริง
อธิบายคำสั่งตั้งค่าอีเมล
- From: อีเมลผู้ส่ง
- Realname: ชื่อที่แสดงบนอีเมล
- IMAP_user: อีเมลของคุณ
- IMAP_pass: รหัสผ่านอีเมล ถ้าแน่ใจ никтоเข้าถึง Mailbox ไม่ได้
- SMTP_url: ส่วนแรก URL ที่ Mailbox ส่งข้อความไปส่ง
- SMTP_pass: รหัสผ่าน Mailbox
- Folder: ตำแหน่ง Mailbox
- Spoolfile: โฟลเดอร์ใน Mailbox ที่อีเมลมาถึง
- Postponed: โฟลเดอร์เก็บข้อความเลื่อนส่ง (Drafts)
- Record: ไดเรกทอรีที่ Gmail เก็บ Sent messages
- Trash: ไดเรกทอรีเก็บอีเมลลบ
ตั้งค่า IMAP และ SMTP ของ Gmail
Port IMAP/SMTP ของ Mailbox มักคงที่ แต่วิธีที่ดีคือเช็คตั้งค่า Mailbox ก่อน ใส่ใน Editor
สำหรับผู้ใช้ Gmail นี่คือตั้งค่า Mailbox:
ตั้งค่าเสร็จ รัน Mutt ดู Magic ของ Mailbox เปิดตาข้างหน้า
วิธีใช้ Mutt บน Linux
ก่อนส่ง/รับอีเมลด้วย Mutt ต้องเปิดแอปก่อน เปิด Terminal พิมพ์ mutt เปิดแอป:
mutt
ส่งอีเมลใหม่ด้วย Mutt พิมพ์ m ใน Terminal Mutt จะขออีเมลผู้รับ Subject และ Body แนบไฟล์ได้ กรอกรายละเอียดครบ กด y ส่ง
1. ส่งอีเมลพร้อม Subject และ Body
เพิ่ม Subject string ใช้ Flag -s:
mutt -s "Testing Email from mutt" winibhalla234@gmail.com
2. Pipe Mutt กับ echo
ใช้คำสั่ง echo กับ Mutt ส่ง Message body:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla1234@gmail.com
3. ส่งอีเมลพร้อมไฟล์แนบ
แนบไฟล์ ระบุ Path ไฟล์ท้ายคำสั่ง:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla645@gmail.com test.txt
แนบหลายไฟล์ ใส่ชื่อไฟล์คั่น Space:
echo "Body Message" | mutt -s "Testing Email from mutt" winibhalla543@gmail.com -a test.tar.gz –a test2.tar.gz
4. ส่งอีเมลไปหลายผู้รับ
ใส่อีเมลหลายที่ คั่นคอมมา:
mutt -s "Testing Email from mutt" demo1@muo.com, demo2@muo.com, demo3@muo.com
5. เพิ่มผู้รับ CC และ BCC
ใช้ Flag -c และ -b ระบุอีเมล CC และ BCC:
mutt -s "Subject of mail" -c ; -b ; mail address of the recipient
ตัวอย่าง: Mutt ใช้ winibhalla533@gmail.com เป็น To CC ไป winibhalla123@gmail.com BCC ไป winibhalla234@gmail.com
mutt -s “Test Email” -c winibhalla123@gmail.com -b winibhalla234@gmail.com winibhalla533@gmail.com
6. ดู Help Command line
ติดขัด ไปดู Help ของ Mutt Flag -h:
mutt -h
ตรวจสอบ Interface อีเมลของ Mutt
Menu bar บนสุด นำทางแท็บต่างๆ Terminal แสดง Keyboard shortcuts ด้านล่าง Pane กลางแสดงข้อความ
เสียดาย Mutt ไม่มี Composer เบื้องใน ต้องใช้ Text editor เช่น Nano, Vim, Emacs สร้าง Message body
คำสั่งใช้กับ Mutt:
- m: เขียนอีเมลใหม่
- q: ออก
- d: ลบ
- r: ตอบกลับ
- y: ส่ง
- i: ออก (Exit)
อะไรทำให้ Mutt พิเศษ?
Mutt Open-source เป้าหมายตรง จำพวกเล็ก ทำงานได้ 尽管處理快速 錯誤處理好 แต่ขาดด้านแสดงภาพในอีเมล
เพราะเป็น Text format ให้ผลลัพธ์เร็ว บางคนรู้สึก Mutt ไม่ค่อยทำงานดีกับเมลที่มีรูปภาพ อย่างไรก็ตาม Mutt ควรเป็นตัวเลือกแรก ถ้าอยากได้ Command-line email client สำหรับ Linux