• 締切済み

WinXP+Apatche2+PHP5でのmb_send_mailのsubjectに”倍倍倍AB倍”とすると送れません。

以前にも質問したのですが、ある程度症状が判ってきたので 再質問させていただきます。 (くどくてすみません。) WinXP+Apatche2+PHP5の環境の人に質問です。 mb_send_mailのsubjectに 倍角×3&半角×2&倍角 (例;”倍倍倍AB倍”) を指定すると Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. と表示され、http://pobox.com/~djb/docs/smtplf.htmlには Bare LFs in SMTP Most likely you're here because your mailer displayed the pointer ``See http://pobox.com/~djb/docs/smtplf.html.'' ・・・・・ とあります。 具体的にどうすれば良いかわかりません。 メールはOUT LOOK EXPRESSを使い、PHP.iniにはYAHOOのメールを 指定しています。 同じ環境の人が見てたら、よろしくお願いします。

みんなの回答

  • eargray7
  • ベストアンサー率0% (0/1)
回答No.3

以下を参考にしてみて下さい。

参考URL:
http://d.hatena.ne.jp/t_komura/20051105
noname#14871
質問者

お礼

回答ありがとうございます。 自分のは、WindowsXP+PHP Version 5.1.1です。 教えていただいたサイトでは、修正されたバージョンとして 5.1とありましたが、まだ倍角、文字コード絡みは完成とまでは いってないようです。ありがとうございました。

noname#14871
質問者

補足

php.iniのsmtp,sendmail_fromの設定にyahooのメール設定していたのがいけなかったようです。yahoo以外のメールに変更したら無事解決いたしました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • eargray7
  • ベストアンサー率0% (0/1)
回答No.2

PHP5としか書いてないのであっているかどうかわかりませんが、 http://ns1.php.gr.jp/pipermail/php-users/2005-October/027764.html といった一連の流れが関係してるのでは?

参考URL:
http://ns1.php.gr.jp/pipermail/php-users/2005-October/027764.html
全文を見る
すると、全ての回答が全文表示されます。
回答No.1

参考URLに似たようなご質問がありますので 見てください。 要約しますと、PHPでは PHPで動作する文字エンコーディング: ISO-8859-*, EUC-JP, UTF-8 PHPで動作しない文字エンコーディング: JIS, SJIS とあります。PHP5で、このあたりが解決されているかはわかりません。

参考URL:
http://ns1.php.gr.jp/pipermail/php-users/2004-April/021965.html
noname#14871
質問者

お礼

参考URLをありがとうございます。 症状は同じようなのですが、参考URL記載の 方法では解決しませんでした。 PHP5になったことでこの辺の(対策)事情が変ったのかもしれません。

noname#14871
質問者

補足

php.iniのsmtp,sendmail_fromの設定にyahooのメール設定していたのがいけなかったようです。yahoo以外のメールに変更したら無事解決いたしました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHP でmb_send_mailが上手くいかない

    PHP初心者です。現在、自分のパソコンにXAMPPをインストールして、 Apacheを起動し、PHPのサンプルを勉強しいています。 mb_send_mail自体はTRUEで返ってくるのに、メーラーには何も届きません。 書籍やネットにあったサプルをいろいろ調べたのですが、 みな、同じ現象です。 php.iniの設定は下記の通りです。(phpは5.4.7) [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = localhost smtp_port = 587  <----25にしても変わりませんでした。 ; For Win32 only. http://php.net/sendmail-from sendmail_from = postmaster@localhost PHPのソース <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); if (mb_send_mail("cy0***@md.point.ne.jp", "テストメール", "これはテストです。", "From: chibikind***@yahoo.co.jp")) { echo "メールが送信されました。"; } else { echo "メールの送信に失敗しました。"; } ?>

    • 締切済み
    • PHP
  • mb_send_mailに関して

    環境:Windows2008 Server R2 64bit/php5.3.22 教えて下さい。 Windows2008 Server R2 64bit 環境にてPHPを動作させ、mb_send_mail()関数を使って メールを送信しようと考えています。 PHPも問題なく動き、mb_send_mail()関数用にphp.ini も以下のようにメンテナンスし、記述も 問題ないかと思われますが、メールの送信ができません。。。 64bitでは何か設定が違うのでしょうか? 教えて頂きたいと思います。 《php.ini》   [mail function]  For Win32 only.          ← 32bit only とわざわざ記述がある為、64bit ではNG?  http://php.net/smtp  SMTP = XXXXXX  http://php.net/smtp-port  smtp_port = 25  For Win32 only.  http://php.net/sendmail-from  sendmail_from = XXX@XXX.co.jp 《記述内容》  <?php  $mailto = "XXX@XXX.co.jp";  $subject = "掲示板";  $content = "新規投稿がありました。 ☆☆☆";  $mailfrom = "From:mail@colcoat.co.jp";  mb_language("ja");  mb_internal_encoding("UTF-8");  if(mb_send_mail($mailto,$subject,$content,$mailfrom)){  }else{   echo "送信できませんでした";  }  ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_send_mailについて

    こんにちは。現在phpの勉強中で、まだローカルテスト環境でしか動かしたことのない者です。今回もローカルテスト環境なんですが、いずれアンケートフォームのようなものを作りたくて、ある書籍を参考に、自分宛にメールを送ろうとしました。 コードの内容は、最初に表示する画面の「mail_input.php」が、 <html> <head> <title>メール送信</title> </head> <body> <h1 style="background:#cccccc"> メール送信</h1> <form method="POST" action="sendmail.php"> <input type="hidden" name="_email" value="ここに自分のメールアドレスを入れました" /> <input type="hidden" name="_subject" value="自分宛てメール" /> <input type="hidden" name="_result" value="<?php print($_SERVER['PHP_SELF']);?>" /> <table border="0"> <tr> <th align="right">名前:</th> <td><input type="text" name="name" size="20" maxlength="30" /></td> </tr><tr> <th align="right">E-Mail:</th> <td><input type="text" name="_from" size="50" maxlength="255" /></td> </tr><tr> <th align="right" valign="top">自由記入欄:</th> <td><textarea name="memo" cols="50" rows="5"></textarea></td> </tr> </table> <input type="submit" value="送信" /> <input type="reset" value="クリア" /> </form> </body> </html> で、メールを送るプログラムの「sendmail.php」が、 <?php $header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion(); $body="■■".$_POST['_subject']."■■\n\n"; foreach($_POST as $key=>$value){ if(!strstr($key,"_")){ $body.="[".$key."]".$value."\r\n"; } } $kekka=mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info); if($kekka){ header("Location: ".$_POST['_result']); } else{ print "送信失敗"; } ?> です(どちらも文字コードはUTF-8で改行コードはLFです)。 これを動かしたら、 Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in C:\xampp\htdocs\Mysite\lesson\php10\day04-1\sendmail.php on line 9 送信失敗 と表示され、メールも受信できませんでした。 php.iniの内容は、 [mail function] ; For Win32 only. SMTP = smtp.eonet.ne.jp smtp_port = 25 ; For Win32 only. sendmail_from = ここに自分のメールアドレスをいれました ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" で、windowsメールのツールメニューのアカウント→プロパティ→サーバーのところの送信メール(SMTP)(U)のところは、smtp.eonet.ne.jpになっています。送信メールサーバーのところは、「このサーバーは認証が必要」にチェックを入れています。詳細設定の、サーバーのポート番号のことろの、送信メール(SMTP)(O)のところは25にしています。 こちらの環境は、windows vista、xampp1.6.5、php5.2.5で、メールソフトはwindows mailです。加入しているプロバイダはeonet(イオネット)です。コードはサンプルコードをちょっと変えた程度のものなので、たぶんphp.iniの設定やwindowsメールの設定が悪いのだろうと思い、windowsメールの設定のことをイオネットに問い合わせたところ、phpとかそういったことへの質問は対応しかねますとのことでした(対応した方はphpという単語自体を知りませんでした)。 php.iniの[mail function]のところで、 ; For Win32 only. SMTP = smtp.eonet.ne.jp smtp_port = 587 にして、windowsメールの詳細設定の、サーバーのポート番号のことろの、送信メール(SMTP)(O)のところを587にしたり、その他いろいろやってみましたが、ダメでした。ただメールを自分宛に送るだけなので、おそらくとても初歩的なところでつまずいているんでしょうが(考え方が根本的にズレてるような気もします)、解決方法が見つかりません。どなたかアドバイスいただけませんか。イオネットの方だと非常にありがたいです。

    • ベストアンサー
    • PHP
  • mb_send_mailを実行するとエラーになります

    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 ・・・・ XPにPHPとアパッチを入れて <?php $mlfr = "xxxx@nifty.com"; $mlto = "xxxx@mail.goo.ne.jp"; mb_internal_encoding("EUC-JP"); $mlsb = "たいとる"; $mlms = "ないよう"; $mlhd = "from: $mlfr\r\n"; mb_send_mail($mlto,$mlsb,$mlms,$mlhd,"-f".$mlfr); ?> を実行してもメールが送られません XPにメールサーバを入れなければならないのでしょうか?

    • ベストアンサー
    • PHP
  • phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません

    phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません。 php.iniの現時点における設定は、以下の通りです。 [mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "sendmail -t -i" mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ;mbstring.strict_encoding = Off なお、phpのスクリプトでは、mb_send_mail関数を呼ぶ直前に、  mb_language("ja");  mb_internal_encoding("utf-8"); を実行しております。 また、html部では、<meta…タグにおいて、charset=UTF-8の宣言を行い、 このhtml部を含むphpファイルは、文字コードUTF-8にて格納し直しました。 原因をいろいろ探ったのですが、自力では無理のようです。 原因と考えられる点をどうか教えて頂くようにお願い致します。

    • ベストアンサー
    • PHP
  • mb_send_mail()に関しまして

    初めて投稿させて頂きます。 PHPを触り始めて間もない者ですが、よろしくお願い致します。 現在、PHPの勉強を兼ねまして空メールを送るプログラムを作成しております。 フォームにボタンを1つ設け、そのボタンを押下すると指定のあて先に空メールを送るという簡単なものです。 【html内のボタンの設定】 <form name="top" method="post" action="a.php"> <input type="submit" value="空メールを送る"/> </form> 【a.php(正しく送れたかを知るためにメッセージを表示するようにしてあります)】 <html> <head> PHPメールテスト送信 </head> <body> <? $address = '送信先メールアドレス'; $subject = ''; $message = 'PHPからのテストメール'; $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> このプログラムを実行すると以下のエラーが発生します。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\xampp\htdocs\top.php on line 15 参考書を見ながらプログラムを作成したのですが、記述、もしくは設定が関係しているのでしょうか。 分かる方には非常にくだらないことかもしれませんが、ご教授お願い致します。

    • 締切済み
    • PHP
  • mb_send_mailでのメール送信がエラーしてしまいます。

    PHPを独習しています。 mb_send_mailでのメール送信でつまづいてしまっており、 ご回答いただければ幸いです。 mb_string等の設定は正常に出来ていると思うのですが、 下記のとおり、mailserverに接続できない旨のエラーが 表示されてしまいます。 ●エラー本文 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "(契約サーバー)" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\Apache Group\Apache2\htdocs\sample\Part4\4-8\4-8-1.php on line 11 ●PHP本文 $mailto = "(自分のアドレス)"; $subject = "test"; $content = "本文test"; $mailfrom = "From:aaaa@bbb.ccc"; $mailfrom="From:" .mb_encode_mimeheader("木村") ." <ddd@eee.fff>"; if (mb_send_mail($mailto,$subject,$content,$mailfrom)){ echo "送信成功"; }else{ echo "送信失敗"; もしお分かりになる方がいれば、 どうかご教授のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでメールの送信ができない

    xampp1.8.0環境から PHPのmb_send_mailでメールの送信をしようとしています。 php.ini SMTP = smtp.xxx.ne.jp (プロバイダから指定されてるもの) smtp_port = 25 xampp1.7.7くらいの環境のときは↑の設定のみで送信できたのですが 新しいバージョンに変えてから送れなくなりました。 古いバージョンのphp.iniと差し替えると送信可能になります。 上記の2行以外でメールの設定に関わる部分はありますでしょうか?

    • 締切済み
    • PHP
  • (PHP初学者) mb_send_mail

    フォームに入力された内容をローカル環境(Xampp)から フリーメールアドレスに送信をする課題を勉強をしています。 入力側ファイル ---------------------------------------------- <html> <body> <form action="mail.php" method="post"> 名前</th><td><input type="text" name="name"><br> メール</th><td><input type="text" name="mail"><br> メッセージ</th><td><textarea name="messe"></textarea><br> <input type="submit" value="確認する" name="submit"> </body> </html> ---------------------------------------------- 送信ファイル(mail.php) ---------------------------------------------- <?php error_reporting(1); $name = $_POST["names"]; $mail = $_POST["email"]; $messe = $_POST["messe"]; mb_language("ja"); mb_internal_encoding("euc-jp"); $naiyou = $names."<br/>".$mail."<br />".$messe; $result = mb_send_mail("○○○@yahoo.co.jp","メール送信テスト",$naiyou); //受信するフリーメールアドレス if($result){echo "成功"; }else{echo "失敗";} ?> ---------------------------------------------- このサンプルと別のサンプルで試して どちらも結果は「成功」と表示されるのですが 実際にはフリーメール側でのメールの受信はできません。 (ホットメールとヤフーメールで試しています。) PHP学習サイトで「php.ini」の設定を変えなければならないということで 以下の部分のセミコロンをはずし変更してみました。 [mail function] SMTP = ○○○(ここには契約プロバイダのsmtpサーバを記入) smtp_port = 25 sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 多くのPHPを勉強している方がここでつまずいているようで 色々調べてみたのですが 上手くいかない原因はそれぞれ異なるようで 上手くいく手がかりが見つかっていません。 難しいことはまだ理解できないため できるだけ難しい関数や処理などは使わない方法で 解決できる手段があれば ご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHP mb_send_mail メール送信 550エラー

    PHP mb_send_mail メール送信 550エラー お世話になります。 PHPにてmb_send_mail関数を使い、メール送信を行っているのですが・・・ 特定の送信先に対して以下のメールが帰ってきます。 ※相手先メールアドレスは伏せております。 件名:Returned mail: see transcript for details The original message was received at Mon, 29 Mar 2010 18:14:56 +0900 (JST) from localhost [127.0.0.1] ----- The following addresses had permanent fatal errors ----- <***@***.***> (reason: 550 Host unknown) ----- Transcript of session follows ----- 550 5.1.2 <***@***.***>... Host unknown (Name server: ***.***.: host not found) 送信先のメールアドレス自体は存在しておりますが、mb_send_mailを使っての送信が失敗します。 また、全てのアドレスで上記のエラーが発生するというわけではないようです。 これを正常に送信させるにはどのようにすればよろしいでしょうか・・? ご回答よろしくお願いいたします。

    • ベストアンサー
    • PHP