• ベストアンサー

PHPのメール送信でエラーが発生します。

PHPでメール送信プログラムを組んだのですが、 エラーが発生してメールが送信できません。 いろいろ試したのですが、解決方法が見いだせなかったため、 書き込みをいたしました。 以前、XPで開発をしていたときは、メール送信ができたと思ったのですが。。 環境は以下の通りです。 WindowsVista PHP5.2.5 Apache2.2.6 melon1.62 実行したプログラムは以下の通りです。 $to = "abc@yahoo.co.jp"; $from = "abc@yahoo.co.jp"; $subject = "タイトル"; $message = "メッセージ"; $header = "From: $from"; mb_send_mail($to, $subject, $message, $header); abc@yahoo.co.jpは、実際には自分のヤフーアドレスで入力しました。 エラーは、melonのコンソールに、 421 temporary sender lookup fail と表示されます。 よろしくお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.ocn.ne.jp/mail/info/op25b/ この図を見る感じ、自サーバーからのメール送信は完全にできないみたいに見えますね・・・

参考URL:
http://itpro.nikkeibp.co.jp/article/COLUMN/20060323/233135/
dirablue
質問者

お礼

ありがとうございます。 OCNでは自メールサーバでの送信はできないと 納得できました。 動作確認はレンタルサーバで行いたいと思います。

その他の回答 (1)

noname#49664
noname#49664
回答No.1

Vistaでは、セキュリティの関係上、空いてないポートはすべてブロックされます。ポートは空いていますか? あるいは、melonがポートを使用することを許可していますか? Windowsファイアウォールの設定で、「例外」のところにmelonが追加されているか確認し、なければプログラムを追加してみてください。もし他のファイアウォールを使っていたなら、それらの設定を確認ください。

dirablue
質問者

補足

ありがとうございます。 ファイアーウォール、ルータで、ポート解放の設定を 行っておりますが、下記のサイトで確認したところ 外部からのアクセスはできないようです。 http://www.cman.jp/network/support/page_put.cgi 通常ポート25を解放すると外部からのアクセスはできるように なるのでしょうか。 プロバイダーがOCNですので、OPB25の影響の可能性も 考え、サブミッションポートへ変更しましたが、 同様のエラーでやはり送信ができません。 違うマシンのWindowsXPで試したのですが、こちらもできませんでした。

関連するQ&A

  • メール送信プログラムのFrom:について

    <?php $to="mail@xx.com"; $subject="php test"; $message="phpのテスト"; $header="From:". mb_encode_mimeheader("名前") . "<mail@xx.com>"; mb_send_mail($to, $subject, $message, $header); ?> 送信者名に名前を入れたいのですが、プログラムがまずいようで、何がいけないのでしょうか?

    • ベストアンサー
    • PHP
  • PHPでメールを送信するには

    PHP超初心者です。 参考本をもとにPHPでメールを送信するということにチャレンジしているのですが、次のような文章が出ます。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\Apache Group\Apache2\htdocs\php10\mail.php on line 11 エラー:送信に失敗しました 参考本に書いてあるとおり、 php.iniのSMTP=localhost を自分が使っているoooooo@ocn.ne.jpに書き換え、sendmailには自分の別アドレスを記述したのですが。 11行目のエラーも何を指しているのかわかりません。 ご回答よろしくお願いします。 【mail.php】 <html> <head><title>mail.php</title></head> <body> <?php $address=$_POST['address']; $subject=$_POST['subject']; $message=$_POST['message']; $header="Content-Type:text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address, $subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header)){ print("送信完了しました。"); }else{ print("エラー:送信に失敗しました"); } ?> </body> </html> 【mail_form.html】 <html> <head><title>メールの送信</title></head> <body> <h2>メールの送信</h2> <form action="mail.php" method="post"> 宛先:<input type="text" name="address"><br /> 件名:<input type="text" name="subject"><br /> 本文:<br /><textarea name="message" rows="5" cols="30"></textarea><br /> <input type="submit" value="送信"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • メール送信者の日本語指定について

    メール送信関数を作成いたしました。 しかし、メールの送信者を日本語で表示しようとすると、送信エラーになります。 下記がコードになりますが、お気づきの点がありましたら、ご教示をお願いします。 また、「全日空信用カードサービスセンター」を取っ払って、英語のみの表記でしたら、正常に送信できます。※エンコードはSJISです。 //mail $mail_to = "**@yahoo.com"; $mail_from = "***@yahoo.com"; $subject_register = "お問い合わせ"; $title = "ANA CARD 全日空信用カードサービスセンター "; $header_listing = "From:".$title; $headers1 = $header_listing."<".$mail_from.">"; $subject = "=?iso-2022-jp?B?".base64_encode($subject_register)."?="; ・・・・・・・・・ 省略 if (mail($mail_to,$subject,$body,$headers1)) { message("ありがとうございました。"); } else { message("送信エラー"); }

    • ベストアンサー
    • PHP
  • PHPでのmail送信に関して

    教えて下さい。 PHPの中で、mail関数を用いてメール送信をしたいと考えていますが、 下記のようなエラーでどうしても送信できません。 Warning: mail() [function.mail]: SMTP server response: 999 5.7.1 Unable to relay for xxx.xxx@xxx.co.jp in C:\Apache Group\Apache2\htdocs\PHP\mail.php on line 9 phpの方の記述は、 <?php $to = 'xxx.xxx@xxx.co.jp'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: xxx.xxx@xxx.co.jp' . "\r\n" . 'Reply-To: xxx.xxx@xxx.co.jp' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> としてあります。 php.iniの部分も以下のように変更しています。 [mail function] ; For Win32 only. SMTP =xxx.xxx-mail.ne.jp ← ここをSMTPのメールサーバにしてあります。 ; For Win32 only. ; sendmail_from = ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i'). ;sendmail_path = エラーを解除する為にはどこを修正すれば良いでしょうか。。。 教えて下さい。 宜しくお願いします。

    • 締切済み
    • PHP
  • phpのメール送信

    ホームページにメールフォームを作りたいのですが、 送信できなくて困っています。 ソースは次の通りです。 <?php echo "<html>"; echo "<head>"; echo "<title>メールフォーム(送信処理)</title>"; echo "</head>"; echo "<body>"; mb_language("japanese"); mb_internal_encoding("UTF-8"); $to = "アドレスA"; $subject = "件名"; $from = "アドレスB"; $header = "From: ". $from; //本文格納 $mailbody = "■お名前:" . $_post["name"] ."\n"; $mailbody .= "■内容:" . $_post["sentaku"] ."\n"; if(mb_send_mail($to, $subject, $mailbody, $header)){ echo "送信しました。"; }else{ echo "送信できませんでした。"; } echo "</body>"; echo "</html>"; ?> またif文の日本語が文字化けしてしまいます。 メール送信できて、文字化けもないようにしたいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHPをつかったメール送信時の文字化け

    OS :FreeBSD4.8 PHP4.3.2 Apache2 を使用してるものです。 PHPでメール送信のフォームを作成して実際に送ってみるとサブジェクトがどうしても文字化けします。 $subject = i18n_mime_header_encode(i18n_convert($subject, "JIS")); mail($too, $subject, $memo, $ff.$from); 上記のように変換コード関数をいれると Fatal error: Call to undefined function: i18n_mime_header_encode() in /usr/home/mmiyagi/htdocs/send.php のようにエラーがでます。 php.ini設定不足でしょうか?

    • ベストアンサー
    • PHP
  • phpエラー(メールが送信できない)

    phpのエラーの原因について(メールが送信できない) 「つくって覚えるPHP入門」で勉強しているのですが、 本書の59ページに書いてある次のソース通り <html> <head> <meta http-equiv="Content-Type" Content="text/html; charset=Shift_JIS"> <title>お問い合わせフォーム</title> </head> <body> <?php // お問い合わせタイトル、詳細のセット $title = htmlspecialchars($_POST['title'], ENT_QUOTES); $message = htmlspecialchars($_POST['message'], ENT_QUOTES); // 日本語(SJIS)の指定 mb_language('ja'); mb_internal_encoding('SJIS'); // Fromアドレスの設定(自動送信<送信元のアドレス>) $name = '自動送信'; $email = '<送信元のアドレス>'; $header = 'From: '. mb_encode_mimeheader($name) . '<' . $email .'>'; // メール送信 $result = mb_send_mail("<自分のアドレス>", $title, $message, $header); //メール送信の確認 if ($result) { // メール送信の成功 echo '■お問い合わせ内容を担当者へ送信しました。'; } else { // メール送信の失敗 echo '■担当者への送信に失敗しました。'; } ?> </body> </html> で実行したら Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\send_inquiry.php on line 24 ■担当者への送信に失敗しました。 というエラーメッセージが出ます 本書どおりphp.iniでプロバイダで指定してあるポート番号を記述しているのですが・・・(プロバイダはOCNです) ご教授願います

    • ベストアンサー
    • PHP
  • PHPからのメールがこない

    #! /usr/local/php4/bin/php<? //各種初期設定 $from="info@demo.net"; //送信元 $dest="info@demo.net"; //宛先 $header="From: $from\nReply-To: $from"; //ヘッダ $subject="お問い合わせ"; //件名 //エラーがない場合のみメール送信 if($result=="flash"){ // 文字コードの変換 mb_convert_variables("EUC-JP", "JIS, SJIS, UTF-8", &$SUBJECT, &$COMPANY, &$PERSON, &$EMAIL, &$URL, &$COMMENT); //言語を日本語に設定 mb_language("Japanese"); $message="省略"; //メールを送信する mb_send_mail($dest, $subject, $message, $header); // FlashのAns = Sender.Answer; に'Complete' を返す print "Content-type: text/plain\n\n"; print "Answer=Complete"; } ?> というFlashと連動するPHPなのですが、 メール送信完了と表示されるのにメールがきません。 どなたかお分かりになるかた是非教えて下さい。 利用サーバー環境は OS Linux (Fedora Core 3) PHP PHP-4.3.11 (CGI版) Perl Perl-5.8.5 です。よろしくお願いします。

    • ベストアンサー
    • PHP
  • メール送信フォーム

    mb_send_mail($to, $subject, $message, $from); でフォームのメール送信を作ったのですが、(エラーはでません)メールが送信されません。PHPのバージョンは4.23 HTMLでは <FORM METHOD="POST" ACTION="send.php" ENCTYPE="text/plain"> <input type="hidden" name="subject" value="質問"> </FORM> 省略 send.phpでは <?php mb_language("ja"); mb_send_mail($mail, $subject, $message, $from); ?> どこがおかしいのかわかりません? なにかヒントをいただけますか?

    • 締切済み
    • PHP
  • メール送信について

    こんばんは。PHPでmb_send_mailを使ってメールを送信したいのですが、「Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 521 mail not accepted from this domain in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap2\sendmail.php on line 5メール送信に失敗しました。」とエラーが出てしまい上手くできません。 ■PHPスクリプト 1:<?php 2:$to='○○○○○@yahoo.co.jp'; 3:$subject='テストメール'; 4:$body='ようこそ!'; 5:if(mb_send_mail($to,$subject,$body)){ 6: print('メール送信に成功しました。'); 7:} 8:else{ 9: print('メール送信に失敗しました。'); 10:} 11:?> PHP.iniファイルはSMTP=smtp.mail.yahoo.co.jp、sendmail_from=CQW15204nifty.comと設定しております。 参考書通りにやっているのですが、メーラーに送られません。この状態で他に考えられる原因とかありますか?わかる方ぜひ教えてください。

    • 締切済み
    • PHP

専門家に質問してみよう