- ベストアンサー
メールフォームの仕組みについて。
ユーザがタイトル、本文を入力し、 予め指定されている宛先にメールを送る設計は、 よくネットにいろいろサンプルがあるので、 参考にしているのですが、 これは、サーバにSendmailが入っていないと動かないんでしょうか? 他のメールサービスでは動かないような仕組みでもあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
がると申します。 んっと…。ちょっと整理などしつつ。 sendmail(ちなみに、全部小文字がオープンソース、先頭大文字は商用のものになります)ですが。質問者さんが認識されているのは、厳密には「sendmailコマンド」になります(sendmailをインストールしたときはこのプログラムが本体になりますが)。したがって、postfix入れようがqmail入れようが同じように使えることが多いです。 で。「PHPからのメールの送信にはsendmaiが不可欠か?」という質問は、とりあえずNoとなります。 ただ、現実問題としては「インストールされていたほうが圧倒的に楽である」とはいえます。 まず、PHPにあるmail関数とかmb_send_mail関数とかは全てsendmailがあることを前提にしています。ですので、もし「sendmail、或いはそれに類似するものがまったく入っていない」場合、メール送信の手順を一式全部自力で構築する必要があります。 ちなみに、もし自力でメールを送信する場合。最低でも、ソケット通信周りとDNSによるMX解決あたりの知識が不可欠になります。 で、 > 他のメールサービスでは動かないような仕組みでもあるのでしょうか? なのですが。んっと…メールサービスってのはようはSMTPサーバをイメージしている感じでよろしいでしょうか? だとすると、上述のように「sendmailコマンドをインストールする」ものも多いので、大抵は問題ないかと思います、UNIX系の場合。Windows系は…どうなんでしょうか? ちょっと私が不得手なもので。 以上、なにか参考にでもなればよいのですが。
その他の回答 (1)
- haruka47
- ベストアンサー率50% (75/150)
Sendmailとは、ユーザが送信したメールを受け取って、他のサーバと連携してバケツリレー式に目的地まで配送したり、届いたメールをユーザが受け取るまで保管したりするソフトウェアのことです。 これはもともとUNIX用に開発されたが、現在ではWindowsなどのプラットフォームにも移植されています。 >これは、サーバにSendmailが入っていないと動かないんでしょうか? >他のメールサービスでは動かないような仕組みでもあるのでしょうか? Sendmailが入っていないと動かないと云うよりは、インターネット上で運用されているほとんどのメールサーバはsendmailであり、事実上の標準ソフトウェアになっていることから、Sendmailを使ったCGIが多く開発されているだけだと思います。 例えばWindowsサーバでも、コマンドラインから送信できるsendmailとして振舞うsendmail wrapperを使用すれば、たいした改造をしなくてもCGIをそのまま使用することが出来ます。