ลง sSMTP สำหรับเชื่อมต่อกับเซิฟเวอร์ภายนอกเพื่อส่งอีเมลล์บน Ubuntu

โปรแกรม sSMTP ใช้สำหรับส่งอีเมลล์จากเครื่องคอมพิวเตอร์หรือเซิฟเวอร์ผ่าน SMTP เซิฟเวอร์ เช่น Gmail เหมาะสำหรับระบบที่ต้องการส่งอีเมลล์อย่างเดียว เช่น อีเมลล์สำหรับแจ้งเตือนต่างๆ

การลงโปรแกรม sSMTP นั้นทำได้ง่ายๆและไม่ซับซ้อน โดยใช้คำสั่ง

sudo apt-get install ssmtp -y

ตั้งค่า SMTP

เมื่อลงโปรแกรมเรียบร้อยแล้ว ก่อนที่จะใช้ส่งอีเมลล์ได้ จะต้องทำการตั้งค่าในไฟล์ ssmtp.conf ดังนี้

sudo vim /etc/ssmtp/ssmtp.conf

ตั้งค่า SMTP เซิฟเวอร์ปลายทาง เพื่อใช้ในการส่งอีเมลล์ ตัวอย่างการส่งผ่าน Gmail

# ชื่ออีเมลล์ผู้ส่ง
[email protected]

# เซิฟเวอร์ SMTP ปลายทาง และพอร์ท
mailhub=smtp.gmail.com:587

# รหัสผ่านของผู้ใช้งานที่จะอีเมลล์
[email protected]
AuthPass=TYPE-PASSWORD

# ชื่อโดเมนที่แสดงว่าเป็นผู้ส่งอีเมลล์
rewriteDomain=gmail.com

# ชื่อโฮสเนมของเครื่องเซิฟเวอร์
hostname=localhost

# อนุญาตให้ตั้งค่าอีเมลล์ในช่อง From
FromLineOverride=YES

ตั้งค่า revaliases

ทำได้โดยแก้ไขไฟล์ revaliases

sudo vim /etc/ssmtp/revaliases

และแก้ไขไฟล์ โดยเพิ่มบรรทัด

root:[email protected]:smtp.gmail.com:587

ทดสอบส่งอีเมลล์

เมื่อตั้งค่าทั้งหมดเสร็จเรียบร้อยแล้ว สามารถทดสอบส่งอีเมลล์ได้โดย พิมพ์คำสั่งดังนี้ โดย [email protected] คืออีเมลล์ของผู้รับ

เมื่อพิมพ์ไปแล้วเป็นบรรทัดว่าง ให้พิมพ์คำสั่งแต่ละบรรทัด ดังนี้

To: [email protected]
From: [email protected]
Subject: This is test email

This is test message

เมื่อเสร็จแล้วกด ctrl+d รอซักครู่ระบบจะทำการส่งอีเมลล์ทดสอบไปยังอีเมลล์ที่กำหนด

หากตั้งค่าทั้งหมดเรียบร้อยแล้ว sSMTP จะกลายเป็นโปรแกรมอีเมลล์ default ของเครื่อง หากระบบอื่น เช่น ระบบแจ้งเตือนต้องการส่งอีเมลล์ออกจากเซิฟเวอร์ ก็จะถูกส่งผ่านโปรแกรม sSMTP นี้