CentOSのPostfixでGmail経由でメールを出す+PHPで送信できない場合。
PostfixでGmail経由でメールを送信するときに手間取った。Gmailで二段階認証を使っている場合はパスワードはアプリの固有パスワードを使えばいいみたいです。
www.ajaxtower.jp
一応、手順をメモしておく。
iptablesのポートを開いておく。
# vim /etc/sysconfig/iptables
-A INPUT -m state —state NEW -m tcp -p tcp —dport 587 -j ACCEPTを追記。
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
filter
INPUT ACCEPT [0 : 0]
FORWARD ACCEPT [0 : 0]
OUTPUT ACCEPT [0 : 0]
- A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
- A INPUT -p icmp -j ACCEPT
- A INPUT -i lo -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 22 -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 25 -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 587 -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 9001 -j ACCEPT
- A INPUT -m state —state NEW -m tcp -p tcp —dport 3306 -j ACCEPT
- A INPUT -j REJECT —reject-with icmp-host-prohibited
- A FORWARD -j REJECT —reject-with icmp-host-prohibited
COMMIT
iptablesを再起動。
# service iptables restart
Postfixの設定
下記参考しました。

CentOSのPostfixからGmail経由でメールを出す | Tom's Lab2011年1月9日(日)晴れ年末年始のTV録画によりファイルサーバ(CentOS)の4テラのDISKが一杯になることが多くなってきた。当然cronにて古い...tomslabo.exblog.jp
main.cfを記述。
myhostname = aaaa.bbbb.cccc.com
mydomain = bbbb.cccc.com
myorigin = $myhostname
inet_interfaces = localhost
mydestination = $myhostname, localhost.localdomain, localhost.$mydomain, localhost
# Gmail固有の設定
relayhost = [smtp.gmail.com]:587
# smtp.gmail.comはTLSによって暗号化する
smtp_use_tls = yes
# plain方式 (暗号化・符号化されていない) SMTP AUTH認証が必要になるので以下の記述を追加
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
# TLS証明書であるルート証明書を指定
# 指定しないとpostfixが/var/log/maillogにエラーを吐く
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
sase_passwdを記述。
[smtp.gmail.com]:587 user-name@gmail.com:mail-password
# chown root:root /etc/postfix/sasl_passwd
# chmod 600 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd
postfixを再起動。
# service postfix restart
PHPから送信できない場合
ここまでやってPHPMailerでメール送信しようとした時に下記のようなメッセージが出る場合があります。
SMTP ERROR: Failed to connect to server: Permission denied (13)
下のコマンドで確認してoffの場合はSElinuxが悪さしています。
# getsebool httpd_can_sendmail
次のコマンドでonにしてやれば送れるようになります。
# setsebool -P httpd_can_sendmail 1
以上です。

fatal: open database /etc/aliases.db: No such file or directory - 超メモ帳(Web式)@復活Postfixをインストールして設定をおこなっていたのだけど、aliasesのdb作るのに手間取ったのでメモ。FreeBSDでportsからインストールした場合には、/etc/aliasesを参照するらしいのですが、aliases.dbを作るために普通にnewaliasesをしても構築出来ないようでした。なんで、/etc/aliasesへ参照を代えるには以下の様にする必要があるようです。 # postalias /etc/aliases そのあと、newaliases 参照サイト様 http://vine-linux.ddo.jp/linux/mail/aliases.php Postfix詳…d.hatena.ne.jp

Courier-imapのMaildirを調べる - 超メモ帳(Web式)@復活syslogメールのチェックツールを構築しているのだが、Curier-imapのMaildir構造がいまいち理解できていない。ちょっと調べて書いてみる。 MaildirはQmailなどでも使われているメール一通に1ファイルを割り当てる保存形式。各ユーザのホームディレクトリ配下にMaildirというディレクトリが作成され、その内部にメールを保存。Maildirの構造は下記の様になる。 新着メールはnewディレクトリへ生成され、既読メールはcurディレクトリへ移動される。tmpディレクトリは、メールの移動中などに一時保存されるディレクトリ。 また、既読メールファイルにはファイル名の最後にSが追加さ…d.hatena.ne.jp

PlayOnLinuxでiTunesをインストールしてみた - 超メモ帳(Web式)@復活iPod関連の因縁再びである。 iPodとiTunesと。。 PlayOnLinuxってのは、WineのレイヤとしてWindowsアプリを動かすツールである。Python製。高い可能性でゲームなんかは動くらしい。 WindowsのゲームをLinuxで楽しむ PlayOnLinux | OSDN Magazine iTunesがデフォルトのパッケージで入っているらしいので使えるかなと思い、試してみた。 まず、PlayOnLinuxをポジトリよりインストール。hardy repositoryとgutsy repositoryが存在するけど、今回インストールした際にgutsy repositoryは…d.hatena.ne.jp