Products  | Support  | Solutions  | Partners  | News  | Online Shop
Turbolinux
Home

Turbolinux Users' Forum></TD>
                <TD><IMG SRC=
> ホーム> Turbolinux Users' World > Turbolinux Users' Forum

"TurboLinux10Serverで、PHPのMail()関数が動きません。"

印刷する  
 
ホーム → カンファレンス → Turbolinuxユーザーズフォーラム (Public)
Original Message

"TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by 中井 志 Click to email on 12-20-04, 01:17 PM (JST)
会社で、Turbolinux10Serverを導入し、PHPでアプリレーションを開発していますが、Mail()関数がまったく機能しません。(その他は問題なし)
Turbolinux10Serverの導入は、特別なことはしていませんが、同様のトラブルを解決された方がいらっしゃったら、解決方法を教えてください。
また、TurboLinux社さんで解決方法をお持ちなら教えてください。
  編集 | [リプライ] | [引用してリプライ] |

 目次

((ロビー)) [トピックス]
このトピックのメッセージ

1. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by ams Click to email on 12-20-04, 11:25 PM (JST)
>会社で、Turbolinux10Serverを導入し、PHPでアプリ
>レーションを開発していますが、Mail()関数がまった
>く機能しません。(その他は問題なし)

http://www.php.gr.jp/
で、過去ログを検索されるとか、PHP4 ならば、通称、青マンモス本、「PHP4 徹底攻略 実戦編」(ソフトバンク) ISBN4-7973-1519-9 に「メールの送受信」について PHP4 での代表的な例があります。(現在は改定新版)

そもそも、送信・受信全てが出来ないのか、判然としませんが、PHP ユーザー会の過去ログで検索し、無ければ、具体的な、サンプルソースと Mail Server の(送受信)種類、設定、Web サーバーの種類、バージョン、設定、PHP4 などの設定、環境とともに、PHP ML で質問されてはいかがでしょう。

いずれも、ご存知の内容かもしれませんが、少なくとも、この掲示板で質問されても、また、PHP ML で質問される場合でも、「仕事丸投げ」みたいに取られると、「お金を払って、コンサルタントに相談してください」になりかねないと思います。

PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3
に目を通されているか、今までPHP利用システム構築、アプリ開発をなさっているのなら、過去何度も出てくる問題で、mail() より、日本語メールの送信なら、mb_send_mail()を使用する、メール受信なら、pop3,imap4 でも、imap_open()が一般に使われるのは、ご存知でしょう。そして、apache なら、imap.so をロードしなければならないことも。

php.ini の設定や、Web , Mail Server の各々の設定も重要だし、場合によっては、PHP4 のconfig オプションを変えたり、extension のモジュール作成が必要な場合もありますよね。

お仕事で開発に使用なさっているのなら、プロなわけですから、PEAR の MIME 関係などもご承知でしょう。

まさか、何の設定もせずに、テスト環境を含めて、またエラーログなりを取っていないはずもありませんよね。

それらを、総合的に整理・体系化して問題点を少しでも絞ってから、専門の ML などで具体的な内容を伴った質問をなさってはいかがでしょう。

どこのディストリビューションや、他 UNIX , Win Server なんかのベンダーさんも、PHP のプロのアプリ作成のサポートなんか無いでしょうし、そもそもプロならば、最初に自己解決ありきですから、ご自分のスキルにかけても、プロとしての質問なり問い合わせ方があると思います。

別の環境では、問題なく動作しているコードなのに、何故、TL10Server で動作しないのかとか、こんなエラーログが出るとか、現場だったら、過去のジョブで正しく動作していた内容・状況があるのなら、より精度を高めた質問なり問い合わせが可能だと思います。

少なくとも、ここの話題では無い気がしますけど。。。

  削除 編集 | [リプライ] | [引用してリプライ] |

2. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by どっぐ on 12-21-04, 06:06 AM (JST)
上で、amsさんが、
>少なくとも、ここの話題では無い気がしますけど。。。
と書いていますが、気にしなくていいですよ。

このフォーラムの入り口にはちゃんと下のような案内がなされていますから
>Linuxに関するフォーラムです。ユーザー同士の憩いの場としてどうぞご利用下さい。Turbolinuxに関する情報交換、議論のみという制限はありません。ご利用になる前には下記のREADMEをお読みください。

ただこの話題は、既にTL10:PHPでメール発行コマンドが動かない
で登場しています。
私は、TL10Sを使っていないので傍観していたのですが
mail関数は、php3ではmail()、php4ではmb_send_mail()
を使います。
ただしいずれもsendmailに依存します。
つまり、shellのコマンドラインから、mailコマンドで
メール送信ができない環境においては、phpからもメー
ル送信ができません。
今回のTL10Sは、sendmail標準のメールサーバにしてい
ませんので、その辺が原因かと思っています。
ただ、メールサーバーを sendmail に変更するとようや
く復活したナレッジ・データベースに記述がありますの
で参考にされては如何でしょうか。
今回のTL10Sはベータ版の配布も遅く、結果的に問題の
検証をする間なくリリースされた感が否めません。
以前のシステムからのマイグレーションには危険かなと
思っています。

  削除 編集 | [リプライ] | [引用してリプライ] |

3. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by ams Click to email on 12-21-04, 10:42 PM (JST)
>今回のTL10Sは、sendmail標準のメールサーバにしてい
>ませんので、その辺が原因かと思っています。

MTA は、Postfix でも Qmail でも、設定が正しければ、わざわざ純正の構成を変える必要は無いはずです。

TL10S は、PHP4.3.8 , postfix-2.1.4 ですよね。postfix が正しく動作していれば、動くはずですし、そもそも、ログに何も出てないはずは無いと思うのですけど。

このあたり、
http://ns1.php.gr.jp/search.html
で、キーワードを、メール送信 MTA postfix あたりでも、ぞろぞろヒットしますし、google で検索するか、専門書をあたるかすれば、問題無いと思うのですがsendmail でなければならない必然性があるのでしょうか。

php4でmb_send_mail() なら、5番目の引数で、コマンドラインオプションも指定できましたよね。

逆に、sendmail を使わないサーバー管理者、開発者もいらっしゃいます。正直、伝統があり、強力な代わりに設定の難しいところから、postfix に替えられたのでは?

>以前のシステムからのマイグレーションには危険かなと
>思っています。

それ以前の話しだと思ったものですから。

それと、誤解なさらないで欲しいのですが、掲示板で、サンプルソースの出し合いとかは向かないし、お仕事での開発ならば、そっち方面のエキスパートが揃っていらっしゃる方が当然望ましいと考え、先のポストとしましたけど、間違いでしょうか。


  削除 編集 | [リプライ] | [引用してリプライ] |

4. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by apple_ook on 12-24-04, 11:55 AM (JST)
しつこくてすいません。

turbolinuxのphpのヴァージョンではmail()関数は著作権上使えません。

またpostfixもデフォルトでは起動できません。
master.cfの最後の行にスペースを二つ入れてあげる必要があります。

turbolinux10でメールを発行するなということでしょう。


perlでメール発行プログラムを組んでPHPから呼び出せばメールを発行できます。またはsystem()関数でmailコマンドを打てばメールを出せます。PHPのソースからのインストールもできますが、turbolinuxの連携が壊れてしまいます。さらにはGDなどもソースからインストールする可能性があります。rpmでなれたLINUXユーザには危険が多すぎると思います。

  削除 編集 | [リプライ] | [引用してリプライ] |

5. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by ams Click to email on 12-25-04, 00:55 AM (JST)
>turbolinuxのphpのヴァージョンではmail()関数は著作権上使えません。

??
http://www.php.gr.jp/php/php4/license-faq.php3
を見る限り、Zend ライブラリに関するものに限定されているのでは?一般の PHP4 で使われるmail関係の関数がZend ライブラリに抵触するということでしょうか。

>またpostfixもデフォルトでは起動できません。
>master.cfの最後の行にスペースを二つ入れてあげる必要があります。

私は、製品版を持っていませんから (TL10S) これに関しては確認できませんけれども、Postfix そのものと、ディストリビューション固有の問題とは別個ですよね。

>turbolinux10でメールを発行するなということでしょう。

まさか・・・ といっても、困ったパッケージミスでしょうけれど。

>さらにはGDなどもソースからインストールする可能性があります。rpmでなれたLINUXユーザには危険が多すぎると思います。

libgd-2.0.12-1.i586.rpm
libgd-devel-2.0.12-1.i586.rpm

入ってますよ。。。

多分、PHP にも、gd.so がちゃんとあるのでは?もっとも、日本語対応しているかどうかは知りませんが。私は、jpGraph を使う時のみしか使ったことが無いので、GD , PHP4 は、毎度リビルドしていますけど、大抵、フリーのパッチが転がっているか、GD のビルドのオプション類と、フォント指定を直すぐらいだったと思います。

mail()の代替として、Perl や、Linux glibc の systetm()関数を用いるなら、Java Script C で実装した方が良いような気もしますが、開発者次第でしょうね。他のスクリプト言語も色々あるし。

Postfix も、バグフィックスアップデートされて(製品版も同じパッケージなら)印刷物のミスプリも訂正されるでしょうし。

どっちにしても、問題が発見されれば、エラッタとしてアナウンスされるとは思いますけど。

プロのサーバー構築者、開発者なら、バグっているのを発見したら、サポートと連絡を取って、正式なバグフィックスをしてもらうのが筋でしょう。

また、そのクラスの方々なら、rpm パッケージぐらい、自前で調整し、依存関係を保持できるでしょう。少なくとも、ソースから入れるのなら、セキュリティー関係を中心とした、調査をして、必要なパッチを取り込んでいるであろう、純正及びアップデートパッケージを凌ぎ、インストールログを厳密に管理して、しょっちゅう出てくる各種パッチの適用を自前でするとなれば、TCO 的に考えれば、時間とお金のロスを考えて、他サーバー製品を選択すれば良いのでは。そのためのトライアル版でしょうし。


  削除 編集 | [リプライ] | [引用してリプライ] |

6. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by TY on 12-28-04, 07:53 PM (JST)
多分postfixの設定じゃないでしょうか・・・
そんな気がします
  削除 編集 | [リプライ] | [引用してリプライ] |

7. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by 中井 志 Click to email on 12-29-04, 05:47 PM (JST)
貴重なご意見等、有難うございました。
以下の方法で、メールの送信が可能となりました。
−−−−−−−−−−−−−−−−−−−−−−−
phpのmail関数を調べると、sendmailがphpをconfigureする時点でインストールされていないと、この問題がでると記述されています。

このことから、rpm構築時に上記の状態が起こっていたと仮定して、phpをソースからインストールすることにしました。

ただ、TL10Sの標準インストールを利用している場合、phpのconfigureで必要なapxs等のファイルが無いため、まず、gcc等、及び各種ライブラリをTurboPackageで導入し、apache2ソースからを別ディレクトリにインストールし、その後、phpをconfigureして見ました。

結果として、sendmail(postfixでも問題ありません)が無事に設定されました。

あとは、httpd.confにあるphpモジュールのinclude先を変更することで、標準のディレクトリ構成をほとんど壊さずにphpからmail関数が利用できるようになりました。

やはり、製品のrpm構築時の問題だと思います。

  削除 編集 | [リプライ] | [引用してリプライ] |

8. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by どっぐ on 12-29-04, 07:05 PM (JST)
良かったですね。
その後のリプライがないのでどうしたのかと思っていました。
>やはり、製品のrpm構築時の問題だと思います。
今のところ、その疑いが濃厚ですね?!
(注)TL10Sは使っていないので、(?!)付きです。
  削除 編集 | [リプライ] | [引用してリプライ] |

9. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by みのむし on 12-29-04, 07:28 PM (JST)
横槍失礼します。

>phpのmail関数を調べると、sendmailがphpを
>configureする時点でインストールされていないと、
>この問題がでると記述されています。

良い所に着眼されましたね。

>ただ、TL10Sの標準インストールを利用している場合、
>phpのconfigureで必要なapxs等のファイルが無いため、...


# rpm -ql httpd-devel | grep apxs
/usr/sbin/apxs
/usr/share/man/man8/apxs.8.gz

>やはり、製品のrpm構築時の問題だと思います。

TL10S では、デフォルトの MTA は Postfix です。

メールサーバーを sendmail に変更する

よって、MTA を sendmail に変更した場合の問題点は
自己責任で行なわないといけないのでは?
なお、この問題点はFAQ(TL社)に入れて頂けるのが一番良いかも知れません。

  削除 編集 | [リプライ] | [引用してリプライ] |

10. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by KZ on 01-14-05, 05:02 PM (JST)
10DeskTopですが、同じ状況でした。
私の場合はphpをftpにあるsrc.rpmから--rebuildで解決しました。

ただ、必要なhttp-develパッケージがftpに見あたらなかったので、httpdもsrc.rpmから--rebuildしてhttp-develパッケージを作る必要がありました。探し方が悪かったかな?

  削除 編集 | [リプライ] | [引用してリプライ] |

11. "RE: TurboLinux10Serverで、PHPのMail()関数が動きません。"
Posted by apple_ook 大川りんご園 Click to email on 01-26-05, 09:22 AM (JST)
>貴重なご意見等、有難うございました。
>以下の方法で、メールの送信が可能となりました。
>−−−−−−−−−−−−−−−−−−−−−−−
>phpのmail関数を調べると、sendmailがphpをconfigureする時点でインストールされていないと、この問題がでると記述されています。
>
>このことから、rpm構築時に上記の状態が起こっていたと仮定して、phpをソースからインストールすることにしました。
>
>ただ、TL10Sの標準インストールを利用している場合、phpのconfigureで必要なapxs等のファイルが無いため、まず、gcc等、及び各種ライブラリをTurboPackageで導入し、apache2ソースからを別ディレクトリにインストールし、その後、phpをconfigureして見ました。
>
>結果として、sendmail(postfixでも問題ありません)が無事に設定されました。
>
>あとは、httpd.confにあるphpモジュールのinclude先を変更することで、標準のディレクトリ構成をほとんど壊さずにphpからmail関数が利用できるようになりました。
>
>やはり、製品のrpm構築時の問題だと思います。


rpmではなくソースをコンパイルしてインストール後ののlibphp4.soファイルを探します。これをdl()関数で動的に読み込めばmail()関数が宣言されていますのでk既存のrpmパッケージを壊さずmai()関数が使えます/usr/lib/php/extensions/no-debug-non-zts-20020429/に入れ込みましょう。
大川りんご園をよろしく。
http://www5e.biglobe.ne.jp/~ook/
いまならりんごをプレゼント。

  削除 編集 | [リプライ] | [引用してリプライ] |


アーカイブ | 削除

((ロビー)) [トピックス]
Powered by DCForumLite Version 3.0 (C)1997-2000 by DCScripts. All rights reserved.

SitemapQuestions or Comments...湿疾湿自湿疾湿杓湿疾湿自シェシュ湿疾湿耳湿疾湿自湿疾湿車湿疾湿自湿疾湿悉湿疾湿磁湿疾湿実湿疾湿磁湿疾湿蒔湿疾湿自湿疾湿漆湿疾湿自湿疾湿写湿疾湿磁湿疾湿実湿疾湿自湿疾湿捨湿疾湿自閏昭絢昭湿疾湿捨 Copyright © 2000 Turbolinux Inc. All Rights Reserved