INFRA

AWS - EC2でメールを受信する

postfixというのをインストールします。 $ sudo yum -y install postfix

MTAをpostfixに切り替えます。MTAとは、Message Transfer Agentの略で、メールを転送するアプリケーションのことです。 $ sudo alternatives —config mta

sendmailを 停止します。 $ sudo service sendmail stop $ sudo chkconfig sendmail off

postfixを起動します。 $ sudo service postfix start $ sudo chkconfig postfix o

dovecotをインストールします。 ※Dovecot(ダヴコット)とは、UNIX系のOS上で動作する、POP3とIMAPのサーバである。(引用:wikipedia

$ sudo yum install dovecot dovecot-mysql

postfix Adminをインストールします。

postfixAdminは、ドメイン、メールアドレス、パスワード、メールボックス名をDBで管理するためのWebアプリ。 MTAにはpostfix、pop3,imapサーバはdovecotの利用が想定されている。postfixAdmin自体は、postfixとdovecotの設定は行わないので、自分で設定する。

yumでインストールできないので、下記からダウンロードする。 http://sourceforge.net/projects/postfixadmin/files/postfixadmin/

PostfixAdmin 2.92.tar.gz (2.5 MB)をダウンロードした。 EC2にSCPで持ってきた。とりあえず、/var/www/htmlにもってきて解凍した。

$ gzip -dc postfixadmin-2.92.tar.gz | tar xvf -

PostfixAdmin用のデータベースを設定します。データベースはMySQLを使います。 $ mysql -u root -p mysql> CREATE DATABASE postfix; mysql> CREATE USER ‘postfix’@‘localhost’ IDENTIFIED BY ‘hogehoge’; mysql> GRANT ALL PRIVILEGES ON postfix . * TO ‘postfix’@‘localhost’;

postfixAdminの設定をします。(EC2にメールサーバを構築(複数ドメイン)のとおりにやった) $ vim config.inc.php

ブラウザで、hoge.com/postfixadminにアクセスすると、hoge.com/postfixadmin/login.phpにリダイレクトしたが白い画面だった。エラーは下記のようになってる。

PHP Fatal error: Uncaught —> Smarty: unable to write file /var/www/html/postfixadmin/templates_c/wrt555357f0820db6_13239255 <— \n thrown in /var/www/html/postfixadmin/smarty/libs/sysplugins/smarty_internal_write_file.php on line 46

参考: EC2にメールサーバを構築(複数ドメイン) [Postfix] Postfixによるメールサーバ構築 その2 (MySQLの設定とpostfixadminのインストール)

ELB + PostfixでElasticなMTA(メール受信)システムの構築 – ELB Proxy Protocol Supportの活用 AWS上のpostfixでメールを受信してみる