ติดตั้ง Dummy-SMTP บน ubuntu 16.04

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 14-06-2560
ดูแลโดย WIBOON

เพื่อใช้ทดสอบการส่งอีเมลจาก application ที่เราพัฒนา โดยไม่ต้องส่งอีเมลออกไปยัง mail server ตัวจริง
อีเมลจะถูกนำไปเขียนเป็น text file เท่านั้น

1. ติดตั้งโปรแกรม Dummy-SMTP
ในตัวอย่างนี้ใช้ user คือ mama
เข้าด้วยสิทธิ root

mama@s1natnetwork:~$ sudo su -

ทำคำสั่งเหล่านี้

root@s1natnetwork:~# cd /srv/ 
root@s1natnetwork:~# git clone https://github.com/Napsty/Dummy-SMTP.git
root@s1natnetwork:~# chown -R mama:mama /srv/Dummy-SMTP
root@s1natnetwork:~# exit

หากยังไม่ได้มีโปรแกรม python ให้ติดตั้งก่อนดังนี้

mama@s1natnetwork:~$ sudo apt install  python

รันโปรแกรม

mama@s1natnetwork:~$ /srv/Dummy-SMTP/listen.py & 

2. ทำการทดสอบการส่งอีเมล หากยังไม่ได้มีโปรแกรม postfix ให้ติดตั้งก่อนดังนี้

mama@s1natnetwork:~$ sudo apt install postfix  

ทำการตั้งค่า mail transport agent ด้วยคำสั่ง

mama@s1natnetwork:~$ sudo dpkg-reconfigure postfix

เลือก Internet with Smarthost ตั้งค่า smtp relay ให้ชี้ไปที่ 127.0.0.1:1025
สั่ง reload อีกครั้ง

mama@s1natnetwork:~$ sudo postfix reload

หากยังไม่ได้มีโปรแกรม mail client ให้ติดตั้งก่อนดังนี้

mama@s1natnetwork:~$ sudo apt install mailutils

ทดสอบส่งอีเมลด้วยคำสั่ง

mama@s1natnetwork:~$ echo -e "dddddddddddd\n" | mail -s "saaaa ddddbbbbb" -r a@natnetwork user@example.com

ตรวจสอบดูจะพบว่ามี text file เพิ่มขึ้น เช่น 1497424524.65.txt ในโฟลเดอร์ /srv/Dummy-SMTP/mails/

mama@s1natnetwork:~$ ls -l /srv/Dummy-SMTP/mails/

อ่านอีเมลด้วยคำสั่ง

mama@s1natnetwork:~$ cat /srv/Dummy-SMTP/mails/1497424524.65.txt 

ได้ผลลัพธ์

Received: by ubuntu (Postfix, from userid 1000)
	id 92CDEC00E1; Wed, 14 Jun 2017 14:15:24 +0700 (ICT)
Subject: saaaa ddddbbbbb
To: <user@example.com>
X-Mailer: mail (GNU Mailutils 2.99.99)
Message-Id: <20170614071524.92CDEC00E1@ubuntu>
Date: Wed, 14 Jun 2017 14:15:24 +0700 (ICT)
From: a@natnetwork (mama)

dddddddddddd

ถ้าต้องการอ่านอีเมลได้จากบนหน้าเว็บ
สร้างไฟล์ dummysmtp.conf ไว้ใน /etc/apache2/conf-available
ใช้คำสั่งดังนี้

mama@s1natnetwork:~$ sudo vi /etc/apache2/conf-available/dummysmtp.conf 

ภายในใส่ข้อความ

<Directory /srv/>
       Options Indexes FollowSymLinks
       AllowOverride None
       Require all granted
</Directory>
Alias /mails "/srv/Dummy-SMTP/mails/" 

แล้วสั่งคำสั่งข้างล่างนี้

mama@s1natnetwork:~$ sudo a2enconf dummysmtp.conf
mama@s1natnetwork:~$ sudo service apache2 reload

ตอนนี้ก็ดูทางหน้าเว็บได้แล้วด้วย

Reference: