บางครั้ง เราอาจะหลีกเลี่ยงไม่ได้ที่ต้องทำ Mail Notify แจ้งเตือนต่างๆ เช่น crontab ทำงานสำเร็จ หรือจะแนบผลลัพธ์การทำงานใส่เข้ามา เพื่อความสะดวก ไม่ต้องเข้าไปตรวจผลที่เครื่อง Server ครับ โดยการ Implement สามารถทำได้หลายวิธีเลยครับ อาทิ เช่น
- เขียน lib java / python เข้ามาช่วยในการจัดการส่งเมล์
- ใช้ Tool Monitor เข้ามาช่วยจับตาม Event ที่กำหนด และให้ Trigger ส่งเมล์
- ลองใช้ command จาก package ที่มีคนทำไว้ให้ครับ
สำหรับผมใน Blog นี้ขอข้อที่ 3 นะครับ คือ ลองทดสอบส่งเมล์จาก Linux แทนครับ โดย Package Mail Client ของ Linux มีอยู่หลายค่ายนะครับ ใน Blog นี้ใช้ mailx โดย config ตั้งค่ากับ gmail ครับ
ขั้นตอนการติดตั้ง mailx
- update package ล่าสุดด้วยคำสั่ง
dnf -y update
- ติดตั้ง package mailx ด้วยคำสั่ง
dnf install -y mailx
- สร้าง symbolic link
ln -s /bin/mailx /bin/email
- สร้าง Config File ที่ Path /etc/mail.rc
nano /etc/mail.rc
- ในไฟล์ mail.rc กำหนด Config ดังนี้
set smtp=smtps://smtp.gmail.com:465 set smtp-auth=login set smtp-auth-user=USERNAME@YOURDOMAIN.COM> set smtp-auth-password=YOURPASSWORD set ssl-verify=ignore set nss-config-dir=/etc/pki/nssdb/
- สำหรับ Account ของ Gmail ที่จะผูกไว้ต้องกำหนด Allow Less Secure App ด้วยนะครับ
ทดสอบการใช้งาน
- สามารถทดสอบการใช้งาน โดยใช้คำสั่ง ดังนี้
echo "Your message" | mail -v -s "Message Subject" email1@address
- ถ้าจะส่งหลาย Email ปรับคำสั่ง ดังนี้
echo "Your message" | mail -v -s "Message Subject" email1@address email2@address
จบไปแล้ว ส่งเมล์จาก Linux แบบ command line ด้วย mailx ครับ สำหรับ Blog ถัดเป็นเป็นตัวอย่างการนำไปใช้จริงครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.