解決済みの質問
自作PHPメールフォームでメールが受信できません。
syapapaさん
自作PHPメールフォームでメールが受信できません。
自作で作成したPHPメールが受信できません。
入力した人に返送するConfirmationメールは正常に送信できているのに、アドミの方にはメールが送信されません?受信できない?状況です。いろいろと試しているものの解決しません、基本的な間違いをしてるかも知れませんが、自己解決ができないのでご教授下さい。
Current PHP version: 4.3.11
サーバー:Yahoo(米国)レンタルサーバー
====CODE====
mb_language('ja');
mb_internal_encoding("UTF-8");
//Create Short Variable Names
$str_sub = $_POST['sub'];
$str_cate = $_POST['cate'];
$str_name = $_POST['name'];
$str_phone = $_POST['phone'];
$str_email = html_entity_decode ($_POST['email'], ENT_COMPAT, 'UTF-8');
$str_comme = $_POST['comme'];
$header= "Category: " .$str_cate . " Subjefct:" .$str_sub;
//Email Address for Administrator
$toaddress = "admin@gmail.com";
$mailcontent .= "Subject: " .$str_sub ."\n";
$mailcontent .= "Comment: " .$str_comme ."\n\n";
$mailcontent .= "-----\n";
$mailcontent .= "Name: " .$str_name ."\n";
$mailcontent .= "Phone: ".$str_phone ."\n";
$mailcontent .= "E-mail: " .$str_email ."\n\n";
$mailcontent .= "-----\n";
//Auto Message for a Customer
$header2 = "Test has received your mail";
$from = "noreply@test.com";
$toaddress2 = $str_email;
$body = "Hello " .$str_name .",\n\n";
$body .= "Thank you! Your inquiry has been submitted to test. We will be in contact with you via E-mail within a couple business days. \n\nBest Regards, \n\nTest \n\n";
$body .= "----- Questions/Comments ----- \n";
$body .= $str_comme ."\n\n";
$body .= "----- Your information ----- \n";
$body .= "Name: " .$str_name ."\n";
$body .= "Phone: " .$str_phone ."\n";
$body .= "Email: " .$str_email ."\n";
$body .= "-----";
//Send data to admin
mb_send_mail($toaddress2,$header,$mailcontent,"From:$email");
//Send date to customer
mb_send_mail($toaddress,$header2,$body,"From:$from");
====/CODE====
まだまだ未熟者で原因がまったくわかりません、どうぞお力添えをお願いいたします。
- 補足
- ご回答ありがとうございます。
記載のGmailはダミーです。実際には独自ドメインのメールアドレスと私の個人的なアドレスを二つ入れておりました。どちらも未着です。独自ドメインやフリーメールへの送信がサーバー側でコントロールされているような気がします。
$emailはユーザーが入力したメールアドレスで、$fromにはnorepley@test.comというダミーのアドレスが入ります。
とりあえずサーバー側を調べてみたいと思います。
-
- 質問日時:
- 2011/5/17 15:48:19
-
- 解決日時:
- 2011/5/19 18:00:03
-
- 回答数:
- 2
-
- お礼:
- 知恵コイン
- 100枚
-
- 閲覧数:
- 220
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
katubeyさん
同サーバーで送信出来ないのであれば、メールの送信者のアドレスは、独自ドメインのアドレス以外からの送信が出来ないとか
じゃないでしょうか?$from と $email は同じですか?
補足について -------->
http://smallbusiness.yahoo.com/
今も使ってますが、YAHOOのWEBホスティング(アメリカ版)スモールビジネスなら送信元は取得したドメイン以外は規制されていますよ。
- 違反報告
- 編集日時:2011/5/18 21:36:06
- 回答日時:2011/5/17 17:04:42
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
0人が役に立つと評価しています。
ベストアンサー以外の回答
(1件中1〜1件)
tezcelloさん
Gmail 宛のメールが届かないという事でしょうか?
admin@gmail.com なんていうアドレスが取れるわけ無いでしょうからダミーでしょうけど、まずはアドレスがあっているかご確認を。
もちろん Gmail 以外のお手持ちのメールアカウントから Gmail へ送信できるかも大丈夫ですよね?
最近は迷惑メール対策で、共用のレンタルサーバから、独自ドメインのメールを送信する事がかなり難しくなったように思います。これに該当しますか?
チェック項目として
・サーバにログインして、コマンドラインから送信できるか。
・Gmail で迷惑メールとして振り分けられていないか。
・Gmail が逆引きできない(正引きと不一致)場合に拒否していないか。
__spf がキチンと書かれていればOKかも
借りているサーバのドメインが拒否されていると難しいでしょうね。
<< 追加 >>
> 独自ドメインやフリーメールへの送信がサーバー側でコントロールされているような気がします。
ご利用サーバの形態が不明なままで書いておりますが、
「サーバ契約時に指定されたメールアカウント以外を from に指定して発信できない」という事は経験があります。
> とりあえずサーバー側を調べてみたいと思います。
「逆引きや spf で裏付けされたメール以外を受け取らない」のは(迷惑な話ですが)非常に多いです。
スクリプトが動作するサーバだけではなく、送信先サーバの受信の基準も確認が必要では?
Gmail も逆引きできないと受け取らないという記事も見かけました(公式サイトではないので正確であるかは不明)し、共用サーバでは他のユーザのせいで締め出しを喰らう事もままあるようです。
共用サーバでは逆引きが使えるはずが無いので、どうしても独自ドメインでメールを送りたければ、専用サーバ(あるいはVPS)じゃないとNGかもしれません。
メール送信時のログが見られれば解決に近づき易いと思いますが、可能なサーバでしょうか?
PEAR の Mail::send() で、バックエンドに SMTP を指定すればデバッグメッセージも取れるので、現象が掴み易いかもしれません。
http://pear.php.net/manual/ja/package.mail.mail.send.php
http://pear.php.net/manual/ja/package.mail.mail.factory.php
- 違反報告
- 編集日時:2011/5/18 16:59:03
- 回答日時:2011/5/18 08:59:34


質問した人からのコメント
友人のサイトでしたので、本人からHosting Account情報をもらいYahoo Web HostingのFAQを調べ、手順通りに設定し反映待ちであります。
最初に確認しておくべき事でした。
本当にありがとうございます。