[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp:01551] Re: PHPでpostfixを有効にするには?



藤本@質問者です。

Kouji ISHINO wrote:
> 
> いしの@えどがわと申します。

こんにちは。

> > また、インストールした順番は、先の環境では、
> > > Apache → PostgreSQL → PDFlib → PHP →Postfix
> > でしたが、今回は、
> >  Apache → PostgreSQL → Postfix → PDFlib → PHP
> 
>   PHP の ./configure をするときに、システムにsendmailとかpostfix
> とかが入っていないと、「このシステムにはメール送信の仕組みは入っ
> てないのね」と解釈されて、メール関係の関数が使えなかったような。。

ご指摘ありがとうございます。

前者(以下、失敗環境)と後者(以下、成功環境)のPHPの./configureの
ログを詳細に調べてみました。

<失敗環境>

[root@xxxx php-4.1.2]# ./configure --enable-mbstring
--enable-mbstr-enc-trans \
> --enable-versioning --with-pgsql=/usr/local/pgsql \
> --without-mysql \
> --with-apxs=/usr/local/apache/bin/apxs \

−中略−

Running system checks
checking for missing declarations of reentrant functions... done
checking whether compiler supports -R... no
checking whether compiler supports -Wl,-rpath,... yes
checking for sendmail... no
             ↑
−以下略−


<成功環境>

[root@yyyy php-4.1.2]# ./configure --enable-mbstring
--enable-mbstr-enc-trans \
> --enable-versioning --with-pgsql=/usr/local/pgsql \
> --without-mysql \
> --with-apxs=/usr/local/apache/bin/apxs \

−中略−

Running system checks
checking for missing declarations of reentrant functions... done
checking whether compiler supports -R... no
checking whether compiler supports -Wl,-rpath,... yes
checking for sendmail... /usr/sbin/sendmail
             ↑↑↑↑↑↑↑↑↑
−以下略−

ご指摘いただいたとおり、失敗環境では、PHPの./configure時点で
sendmail(または代替となるPostfix)が存在していなかったため、
PHP側が認識していないと考えられます。


> # しかも、メール送信関数を実行してもエラーが返ってこないんですよ
> # ね。。ただ、うろ覚えですが、もしかしたらメール送信関数の戻り値
> # は false だったかもしれません。

両環境で、メール送信のテストに用いたPHPスクリプトを以下の様に
してみました。

$res2=mb_send_mail("fujimoto@xxxxxxxxxxx","TEST","DAPYON");
echo("res2=".$res2."<br>\n");

この場合、メール関数「mb_send_mail()」の返り値は、失敗環境では
変数$res2は空っぽでした(成功環境では「1」でした)。


どうやら、今回の私のトラブルは、PHPの./configure時点でPostfix
をインストールしていなかったことが原因の様です。

また、その様な場合、PHPはメール関数を実行してもエラーを返さな
い様です(もちろん正常に実行された形跡も表示されませんが..)。

失敗環境も、PHPを再度インストールすることで問題が解決すると思
います。

池田望さん、いしの@えどがわさん始め、皆さんありがとうございま
した。

Postfixを使い始めて未だ2週間ほどですが、これから本格的に使っ
て行こうと考えております。

今後ともよろしくお願いいたします。

References
[postfix-jp:01545] PHPでpostfixを有効にするには?, FUJIMOTO Yoshihiko
[postfix-jp:01547] Re: PHPでpostfixを有効にするには?, IKEDA Nozomu
[postfix-jp:01548] Re: PHPでpostfixを有効にするには?, FUJIMOTO Yoshihiko
[postfix-jp:01549] Re: PHPでpostfixを有効にするには?, FUJIMOTO Yoshihiko
[postfix-jp:01550] Re: PHP でpostfixを有効にするには?, Kouji ISHINO

[検索ページ] [Postfix-JP ML Home]