Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีส่งอีเมลจาก Linux Terminal

วิธีส่งอีเมลจาก Linux Terminal

Linux terminal ให้พลังและความสามารถในการทำงานมากมายด้วยไม่กี่คำสั่ง สำหรับผู้ที่ใช้เวลาส่วนใหญ่ใน terminal คุณสามารถส่งอีเมลได้โดยตรงจาก Terminal คู่มือนี้จะพาคุณไปรู้จักวิธีและเครื่องมือต่างๆ สำหรับส่งอีเมลจาก Linux terminal

หมายเหตุ: เพื่อส่งอีเมลจาก terminal ต้องแน่ใจว่ามี mail server ตั้งค่าและทำงานถูกต้องแล้ว

Mail

วิธีแรกและง่ายที่สุดคือใช้ 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
วิธีส่งอีเมลจาก Linux Terminal

บาง 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
วิธีส่งอีเมลจาก Linux Terminal

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