携帯からの空メールや、添付写真送信等の用途でのメールサーバを立てていきます。
主にこちらを参考にしています。(メールサーバー構築(Postfix+Dovecot))
いつもお世話になっております!
postfixのインストール
仮にmail.server.com というhost名で立てる想定で進めます。
設定ファイルを修正
追加(自FQDN名を指定)します
追加(自ドメイン名を指定)
追加(ローカルからのメール送信時の送信元メールアドレス@以降にドメイン名を付加)
変更(外部からのメール受信を許可)
変更(自ドメイン宛メールを受信できるようにする)
追加(メールサーバーソフト名の隠蔽化)
以下を最終行へ追加(受信メールサイズを10MBに制限)
参考にしているリンク先にあるような、SMTP-authやメールボックスは不要と考え、省いています。
Postfix起動
sendmail停止し、
自動起動も停止しておきます。
システムで使用するメールサーバー機能をsendmailからPostfixに切替えます。
2をいれてEnterします。
There are 2 programs which provide ‘mta’.
Selection Command
———————————————–
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number: 2
postfix起動します。
自動起動も設定します。
ポートの確認
まず、ポート25番の確認してみます。手元のmacからtelnetしてみます。
Trying xxx.xxx.xxx.xxx…
telnet: connect to address xxx.xxx.xxx.xxx: Operation timed out
telnet: Unable to connect to remote host
しばらく反応がなかったのですが、結局接続できませんでした。
理由は、ポートが空いてなかったためです。そこで、25番ポートをあけます。
許可一覧に25番ポートを加えます。
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
変更を反映させます。
再び確認します。
Trying xxx.xxx.xxx.xxx…
Connected to mail.server.com.
Escape character is ‘^]’.
220 mail.server.com ESMTP unknown
お、反応ありました。無事ポートの解放ができました。
メールエイリアス変更
test_acというアカウントを想定します。(メールアドレスは test_ac@mail.server.com となる。「@」は半角に読み替えてください。)
まずはユーザ作成。ログイン不要オプションを指定します。
つづいて、設定変更します。
まずはエイリアスの設定ですが、動作確認からしてみます。
変更内容を反映
メール送信確認。(「@」は全角にしてます)
動作確認
空メール返信スクリプト設定
ここまできたら、目的の返信スクリプト(例えばphp)で動作確認してみます。
さきほどと同じ要領で、エイリアスを設定します。
ログも書き出しておくと、エラー時等の調査に役立ちます。
これで完了です。test_ac@mail.server.com(「@」は半角に読み替えてください) にメールを送って確認してみましょう。
動作しない場合
/var/log/maillog にログが書き出されますので確認します。例えば以下のようなエラーを確認した場合、
権限でのエラーの可能性がありますので、実行するphpや書き出すログファイル、またはそのディレクトリの権限を確認しましょう。
参考
こちらがすごくシンプルで参考になりました。
linux+postfixによる空メール設定手順