人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FreeBSD - Postfix or qmail or sendmail (350ポイント以上)

現在専用サーバーを借りてwebサーバーを構築しているのですが、はじめからインストールしてあったPostfixが機能せず PHP の mail() を使ってメールを送信しようとしても送信できません。

そこで今あるPostfixを全てアンインストールしsendmailかqmailをインストールしようと思います。 ただサーバー構築は初めてのため分かりやすく1から教えてください。 (例:まずsshでログインし cd /usr/etc/mail に行き make を実行し..な感じです。)

あと、現在sendmailにしようかqmailにしようか迷っています。sendmailは脆弱性のニュース良く耳にするのでqmailにしようか迷っています。最終的にはPHPスクリプトからメールが送信できればいいので、それを考慮してお願いします。

●質問者: esecua
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CD ETC FreeBSD make PHP
○ 状態 :終了
└ 回答数 : 9/9件

▽最新の回答へ

1 ● junono
●16ポイント

TurboLinuxの情報で申し訳ないですが

http://www.turbolinux.co.jp/dcforum/DCForumID11/7097.html

辺り参考になりませんか?

http://php.s3.to/man/ref.mail.html

にも書いてありますが、「メール関数を使用可能にするには、PHPのコンパイル時点でシステム上の sendmailバイナリにアクセスできなければなりません。」とありますので、MTAをインストールし治すのではなくて、PHPの再インストールをしみてはいかかですか?

http://jp2.php.net/manual/ja/ref.mail.php

http://www02.so-net.ne.jp/~ytanaka/freebsd/Postfix.html

辺りを見るとPostfixでも普通に使えるから、こういうページがあるんだろうなと思います。


2 ● junono
●16ポイント

PHPのインストールは

http://ichmy.tea-nifty.com/librettofreebsd/2005/11/php_3b3b.html

http://www1.akira.ne.jp/~maya/server/php.phtml

http://www.ceres.dti.ne.jp/~sugasawa/lab/freebsd227-php-install....

辺り参考になりそうです。

◎質問者からの返答

本当にPHPを再インストールすると直るんでしょうか?

現在PHPは正常に動いています。メールだけが機能していないのでメールを再インストールした方がいいと思うのですが、、、


3 ● b-wind
●16ポイント

FreeBSD のパッケージ管理は ports/Package にて行います。

Postfix がどのように導入されているのかが分からないのですが、

これらの仕組みに沿っていると仮定して回答します。

基本的には以下の質問が類似であると思うので参考にしてください。

http://q.hatena.ne.jp/1159331293


ports が導入されている事を前提にすると以下のコマンドを順に実行する事で qmail の導入が行えます。

$ 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さんが考える最善の方法で直してみたいと考えています。


4 ● ito-yu
●16ポイント

サーバから外にメールを送れない状態なだけで、phpからpostfixには正常に処理を渡していると思いますが。

・パケットフィルタ系のツールで通信を遮断していませんか?

・宛先アドレスは正しいですか?

・DNSの設定は正しく、名前解決も出来ていますか?

・前の質問で、mail()の第5引数に '-f自分のメアド' を加えたときに「だめでした..」とは何がどうダメなのですか?ログに変化はありませんか?バウンスは受け取れましたか?

・宛先のプロバイダによってInbound Port 25 Blockingされていませんか?

一つ一つ原因をつぶさないと、いつまで経ってもスキルアップできませんよ。

まずはtelnetとかで、宛先メールサーバの25番ポートへの接続が可能か確かめてみましょう。

http://e-words.jp/w/Telnet.html

◎質問者からの返答

ありがとうございます。

>パケットフィルタ系のツールで通信を遮断していませんか?

わかりません。一応ClamAVとSpamAssassinがインストールしてあります。

>・宛先アドレスは正しいですか?

>DNSの設定は正しく、名前解決も出来ていますか?

正しいです。できています。

>前の質問で、mail()の第5引数に '-f自分のメアド' を加えたときに「だめでした..」とは何がどうダメなのですか?ログに変化はありませんか?バウンスは受け取れましたか?

バウンスは受け取れませんでした。ログは変わったとこはありませんでした。

>宛先のプロバイダによってInbound Port 25 Blockingされていませんか?

分かりませんが、Yahoo,Gmail両方で試しました。

一応、現サーバーの登録したホストネームは hoge.co で 再構成した際 hostname で変更しました。これが何らかの原因ではないでしょうか?

よろしくお願いします。

(ito-yuさんがこの質問をブログに書くのか気になるところです。)


5 ● ito-yu
●16ポイント

できれば「まずはtelnetとかで、宛先メールサーバの25番ポートへの接続が可能か確かめてみましょう。」に対するレスポンスが欲しかったところですが。さて、サーバにはsshか何かでrootログインできると思ってよろしいですか?

# 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(メール送信プロトコル)を使うのに参考になるページです。

◎質問者からの返答

これでよろしいでしょうか?

http://f.hatena.ne.jp/esecua/20061015093128


1-5件表示/9件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ