備忘録

備忘録

一時的なメールサービスのAPIサーバを作る

Ⅰ. はじめに

一時的なメールアドレスを作成するサービスはいくつか存在します。
一時的なメールアドレスを作成する - 備忘録

しかし、どのサービスもAPI経由でのアクセスが出来ないものばかりです。
送信されるリクエストを解析してサービスを利用する事も可能ですが、
よりスマートにAPIアクセス可能なサーバを自分で構築する方法を紹介します。

※サーバを構築しなくても こちら(restmail.net) から制限付きで利用することも可能です。
こちらを応用して自分で作るのもアリです。

Ⅱ. やり方

0. 環境
[root@host ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
1. screen, git, nodejs, redis をインストールする
yum -y install screen git nodejs redis
2. restmail.net を入手する
git clone https://github.com/mozilla/restmail.net
3. Node.js のモジュールをインストールする
npm install
4. Redis を起動する
systemctl start redis
5. lib/config.js の port を 9025 から 25 に変更する
6. lib/config.js の webPort を 8080 から 80 に変更する
7. postfix を終了する

既に25番をpostfixが利用している為終了させます。

systemctl stop postfix
8. ポートを開放する。25番と80番
firewall-cmd --zone=public --add-port=25/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
9. サーバを起動する
node webserver.js &
node emailserver.js &

または screen を利用して

screen -S webserver
node webserver.js

[Ctrl + A] → [D]

screen -S emailserver
node emailserver.js

[Ctrl + A] → [D]
10. http://[ip address]/にアクセスして、以下のページが表示されることを確認する

f:id:kagasu:20170408163431p:plain

11. ドメインのMXレコードを変更する
12. test@domain.tld にメールを送信する
13. http://[ip address]/mail/test@domain.tld にアクセスして、JSON形式でメールが確認できれば成功