電子書籍の厳選無料作品が豊富!

作り方は、簡単なものから複座なものまで何通りもあります。

私がこれまで購入した参考書は、
『はじめての人のためのかんたんPHP + MySQL入門』
『よくわかるPHPの教科書』
などでした。

しかしここに乗っていたものでは、メールの届かないものばかりでした。
例えば、Yahooメールには届かず、hotmailでは迷惑メールとして受信するなど。

初心者な私なので、うまく伝える事ができませんが、
どこでもきちんとメールを受信できる、実際のサイト内で使用できる(セキュリティー面でも)、
一般的なお問い合わせフォームを作るための学習ができる参考書等がありましたら、
ここでご紹介よろしくお願いします。

A 回答 (2件)

「メールが届かない」にもいろいろありますが、



>例えば、Yahooメールには届かず、hotmailでは迷惑メールとして受信するなど。

ということであれば、問題はphpスクリプトではありません。そのphpスクリプトが動作しているサーバの問題です。Yahooやhotmailで拒否される一番大きな要因は『送信元サーバのIPアドレスがブラックリストに載っている』ことです。
共用のレンタルサーバであれば、同じサーバを使っているユーザに不心得者が居れば一緒に拒否されてしまいますす、参照しているブラックリストによっては一定の範囲をまとめて載せてしまうこともあります。
これを避けるためには、php標準のmail関数でwebサーバのsendmailを使うのではなく、PEAR::Mailなどを使って外部のSMTPサーバ(ご自分のISPのSMTPサーバなど)を経由させます。ご自分のISPのSMTPが、ISPのネットワーク外から(SMTP認証などで)利用可能であれば、そちらを使うのが確実です。


逆に言うと一般的に配布されている『お問い合わせフォーム』のメール送信は、送信先メールサーバがphpスクリプトを実行しているwebサーバと同じであること(レンタルサーバであればこのケースが多いハズです)を想定しています。なのでIPアドレスベースで拒否されることを考慮していませんしSMTP認証まで使って外部SMTPを使う必要がないのです。
たしかに「問い合わせたユーザーに確認メールを送る」場合もあるんでしょうけど、そのメールアドレスに送ることが問題ないのかどうかも含めて(「いたずら」に使われる可能性はないのかなど)検討すべきだと思います。
    • good
    • 0
この回答へのお礼

ありがとうございましたm(^^)m

以前は、sendmailを使用していたのですが、
使用できなサーバーであったため、
別のものに、かえたところ、通常に動くようになりました。

お礼日時:2012/02/10 23:45

>しかしここに乗っていたものでは、メールの届かないものばかりでした。


#1の問題意外にもこれメールサーバが適切に設定されてない場合に起きる。
定番だとlocalhostにドメイン設定がなっているとこの手の不都合は起きやすい。
    • good
    • 0
この回答へのお礼

ありがとうございましたm(^^)m

どうやら、sendmailとサーバーの相性の問題だったようです。

結局、参考書の通りではなく、以前別の機会に使用したものを引用して制作したところ、
動くようになりました。

お礼日時:2012/02/10 23:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!