現在専用サーバーを借りてwebサーバーを構築しているのですが、はじめからインストールしてあったPostfixが機能せず PHP の mail() を使ってメールを送信しようとしても送信できません。
そこで今あるPostfixを全てアンインストールしsendmailかqmailをインストールしようと思います。 ただサーバー構築は初めてのため分かりやすく1から教えてください。 (例:まずsshでログインし cd /usr/etc/mail に行き make を実行し..な感じです。)
あと、現在sendmailにしようかqmailにしようか迷っています。sendmailは脆弱性のニュース良く耳にするのでqmailにしようか迷っています。最終的にはPHPスクリプトからメールが送信できればいいので、それを考慮してお願いします。
$ su - # 実行ユーザーを root に Password: # <- パスワードを入力する # cd /usr/posts/mail/qmail # make # make install # make enable-qmailこの時点で qmail がデフォルトの MTA となります。 Postfix 自体を削除してしまうには、
# pkg_info | grep -i postfixでパッケージ名とバージョンが確認できるので、
# pkg_delete "上記で確認したパッケージ名"で削除できます。
その前にb-windさんはPostfixを消去してqmailをインストールする方法でOKだと思いますでしょうか?
一応b-windさんが考える最善の方法で直してみたいと考えています。
# nslookup > set type=mx > example.com ←宛先メアドの@より後ろと入れるとその後 ~ mail exchanger = mail.example.com みたいな表示が出るかと思います。それが相手メールサーバです。 次にそのメールサーバにtelnetします。
> exit # telnet mail.example.com 25と入れて 220 mail.example.com ~ みたいな行が出れば、接続できていることになります。 とりあえず、やってみて下さい。 結果は、適当に解釈せず、まずは一連の表示をコピペするくらいでないと判断ミスが入ります。 http://www.nurs.or.jp/~telnet/ telnetでsmtp︵メール送信プロトコル︶を使うのに参考になるページです。
これでよろしいでしょうか?
# mail ito.ysk@gmail.com Subject: TEST from esecua From: (esecuaさんのメアド、私に晒しても良ければですが) てきとうに文章を書いて下さい . EOT赤字部分があなたの入力するところです。 空行も間違いなく入れて下さい。 で、結果にかかわらず、その際のmaillogを見せて下さい。 何かわかるかもしれません。 mailコマンドなんて無いよ!という事であればまた考えましょう http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&...
myhostname = ~はどうなっていますか? http://www.kobitosan.net/postfix/trans-2.1/jhtml/postconf.5.html 今のhostnameと一致していなければ、変更してPostfixを再起動してみてください。
一致しています。
Oct 16 04:30:37 www amavis[2717]: (02717-10) DSN: NOTIFICATION: Action:failed, RELAYED 554 Clean, <root@mydomain.ne> -> <esecua@gmail.com> Oct 16 04:30:37 www postfix/smtpd[68956]: warning: 100.100.11.10: hostname www.hostname.ne verification failed: hostname nor servname provided, or not known Oct 16 04:30:37 www postfix/smtpd[68956]: connect from unknown[100.100.11.10] Oct 16 04:30:37 www postfix/smtpd[68956]: NOQUEUE: reject: RCPT from unknown[100.100.11.10]: 554 5.7.1 <root@mydomain.ne>: Recipient address rejected: Access denied; from=<> to=<root@mydomain.ne> proto=ESMTP helo=<localhost> Oct 16 04:30:37 www amavis[2717]: (02717-10) response to RCPT TO for <root@mydomain.ne>: "554 5.7.1 <root@mydomain.ne>: Recipient address rejected: Access denied" Oct 16 04:30:37 www amavis[2717]: (02717-10) (!) mail_via_smtp: DATA skipped, no valid recips, 0Recipient address rejected: Access denied キーワードは↑ですかね。似たような状況の質問がありました http://q.hatena.ne.jp/1124538561 hostnameの設定をしくじっているから、Postfixが中継を拒否しているように見えます。 http://www.postfix.org/securityportal.200011/closet20001122.html /etc/postfix/access-inbound みたいなファイルはありますか? そこに、現hostname︵www.hostname.ne ですか︶を通す設定を書いてみてください
www.hostname.ne OK
本当にPHPを再インストールすると直るんでしょうか?
現在PHPは正常に動いています。メールだけが機能していないのでメールを再インストールした方がいいと思うのですが、、、