備忘録

備忘録

一時的なメールサービスの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 update
4. Redis を起動する
systemctl start redis
5. emailserver.js のポートを 9025 から 25 に変更する
6. webserver.js のポートを 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形式でメールが確認できれば成功