• ベストアンサー

phpでメール送信

phpでメール送信プログラムを構築する際、メール本文の姓と名にスペースを入れたい場合、構文はどうすればよろしいのでしょうか? よろしくお願いします。

  • jinnn
  • お礼率48% (19/39)
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

>メール本文の姓と名にスペースを入れたい 普通のメール(text/plain)であれば、asciiの空白でもマルチバイト文字(いわゆる全角)の空白でも何も気にする必要はありません。 $mailbody .= $kastname . ' ' . $firstname . "\r\n"; でかまいません。 当然、htmlメール(text/html)であれば、当然htmlの文法に従ってください(まぁ、わざわざphpスクリプトでhtmlメールを組み立てることもないとは思いますが・・・)。 なお、メール本文でなくメールヘッダに入れるときは、(本文の場合と同様に)結合して作った文字列をmb_encode_mimeheader を通すことになります。 http://www.php.net/manual/ja/function.mb-encode-mimeheader.php

jinnn
質問者

お礼

ありがとうございます。解決できました

関連するQ&A

  • phpでメール送信ができなくなりました

    phpを使って数日までWeb上でメールの送受信を行うプログラムを作成し使用していたのですが、昨日からメールが送信されず、タイムアウトのような現象が起きました。 原因が思いつきません。 よろしくお願いします。 動作環境:Apache2.0.54+PHP4.4.2+WindowsXP

    • 締切済み
    • 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
  • phpからメールを送信したいです。

    phpからメールを送信したいです。 やりたい事はそれだけですが、根本的によく分かっていないところがあり、その辺りを整理したいと思っています。 何分、概念をよく理解していないので、意味不明な事を書くかもしれませんが宜しくお願い致します。 CentOS7にアパッチとPHPをインストールしました。 WEBルート上に下記のtest_phpinfo.phpを配置し、 ブラウザから http://IPアドレス/test_phpinfo.php で呼び出すと、 phpinfoの情報が画面上に出ています。 次に、 WEBルート上に下記のtest_mb_send_mail.phpを配置し、 ブラウザから http://IPアドレス/test_mb_send_mail.php で呼び出すと、 (画面に出すものは何も書いていないので)真っ白な画面が出て、自分のアドレスにメールが届いて欲しいのですが届きません。 あと、具体的に何が必要なのかという事が分かりたいのですが、それとは別に幾つか質問があります。 phpのmb_send_mail関数自体にはメーラの機能はあるのですか?ないのですか? phpのエンジンと追加モジュールでメーラの機能があり、その設定が必要なのか? phpのmb_send_mail関数自体にはメーラの機能はなく、postfixなどのメールサーバーを仲介するだけなのか? メール送信に必要なのは何ですか? 普通にPCからメールを送る場合は、 サンダーバードとかOutlookといったメーラと、自分のメールアドレスが必要です。 自分のメールアドレスの情報として メールアドレス、パスワード、 IMAPかPOPサーバー名、ポート番号 接続の保護、認証方式 SMTPサーバー名、ポート番号 接続の保護、認証方式 が必要です。 phpのmb_send_mail関数からメールを送信する場合も同様にこれらが必要ですか? このサーバーでメールを管理したいわけではなく、ただメールを送りたいだけです。 それでもメーラのようなモノではなく、メールサーバーが必要ですか? 以上、宜しくお願い致します。 [test_phpinfo.php] <?php phpinfo(); ?> [test_phpinfo.php] [test_mb_send_mail.php] <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); mb_send_mail("自分のアドレス", "件名", "本文", "From: from@example.com") ?> [test_mb_send_mail.php]

    • ベストアンサー
    • PHP
  • PHPでメール送信-ヘッダについて

    フォームから入力した内容を、PHPでメール送信させる際についての質問です。 mb_send_mail($to, $subject, $body); として、 $body(本文)の後ろに、メールのヘッダ部分を記述したいのですが、いろいろ検索をかけて調べていますと、"From:"に-fオプションを付けなければいけない場合があるらしいのですが、-fオプションとはどういった動きをするのでしょうか。 説明を読んだのですが、よくわかりませんでした。 エンベロープのsenderアドレスを設定する際に使用するそうですが?? Return-Pathの設定をしたくて、検索をかけていたのですが、この方法でしょうか? また、X-Mailerの設定は X-Mailer: PHP/' . phpversion(); という文字列そのまま変更なしで追加すればいいのでしょうか。 調べていると、こういった記述のサイトがたくさんあったのですが、 phpversion(); の()に、バージョンを入れなければいけない、ということはありますでしょうか。 phpのバージョンはphp4です。 ご存知の方ご回答ください。お願いします。

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

    弊社でお客様のお問い合わせフォームをPHPで作成しているのですが、 お客様の環境でメールを送信することができません。 サーバー環境は以下の通りです。 Red Hat Linux 2.6.9 Apache/2.0.52 PHP 4.3.9 原因の調査で以下のようなチェックを行いました。 【お客様に御願いしたチェック】 1. サーバーでsendmailコマンドを利用してメールが送れるか? 送ることができる。 正しくキューイングされ、送信されることまで確認OK 2. php.iniのsendmail_pathの確認 sendmail_path は /usr/sbin/sendmail -i -tになっている。 /usr/sbin/sendmailはちゃんとある 3. mail()が使えないPHP /usr/sbin/sendmail,/usr/lib/sendmailがなければmail()が使えないPHPがビルドされるケース。 標準のPHPを利用しているので、問題ない。 【弊社が担当したチェック】 1. メールを送信するPHPスクリプトの不具合 PHPスクリプト自体は正常に動作する。 php.iniのdispaly_errorsをONに変更してもエラーメッセージはでない。 2. 簡単なmail()関数を使用したチェック 以下のようなphpスクリプトで確認。 OKがブラウザに表示される。 <?php if (mail("私のメールアドレス", "テスト", "テスト本文", "From:私のメールアドレス")) { echo "OK"; } else { echo "NG"; } ?> 何か原因があるのでしょうか? どなたか教えてください。

    • ベストアンサー
    • PHP
  • PHPのメールフォームが動かない!

    プログラム言語はまったく初めてのPHP初心者です。 いきなり会社関係のサイトを管理する事になり サーバを移転したらメールフォームが動かなくなってとても困っています。 (前々任者が作ったPHPスクリプトなので、前任者もよくわかっていません) 状態は、フォームを送信すると、真っ白な画面になって何も表示されず、メールも送信されません。 移転前のサーバではちゃんと稼働していたらしいのですが… 書き替えたのはPHP本体のmailの送信先アドレスと、HTMLのaction=の後の本体スクリプトのアドレスだけです。 <form name="form1" method="post" action="./form.php"> mail関数は下のようになっています mail($mail,$subject,$message,$from,"-finfo@****.com"); include(THANKS); } 同じサーバにある、PHPの掲示板はちゃんと普通に稼働しています。 それから、いろんな初心者サイトを巡ってみたのですが、 スクリプト本体に、まだよく解らない構文もあります。 構文の一番最初が <?php $date = date ("Y-m-d"); になっているのですが、これは何をする構文でしょう? 前任者は「前のサーバで稼働していたから、サーバの問題じゃないか」 と、言っているのですが、もしそうならサーバの何が問題なのでしょう? なにしろスクリプトなどいじったこともない初心者なので、 わからない事だらけでとても困っています! 質問ばかりになってしまいましたが、どなたかよろしくお願いします!!

    • 締切済み
    • PHP
  • PHPメール送信で文字化け

    PHPでメール送信フォームを用意し、「本文、件名」共に日本語で入力して送ってみたのですが送信結果が文字化けしてしまいます。「あ」と入力して送信すると「??」となってしまいます。 どなたか解決できるようアドバイスをください。 <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head> <body> <?php $mail_send = "ABCDEFG@y.co.jp"; //宛先 $mail_sub = $_POST["mail_sub"]; //件名 $mail_text= $_POST["mail_text"]; //本文 mb_send_mail($mail_send, $mail_sub, $mail_text); ?>

    • ベストアンサー
    • PHP
  • PHP5でメール送信フォームのURLを分らなくする

    PHP5でメール送信フォームのURLを分らなくする PHP5でメール送信フォームを作っています。 開発環境:Win7,Achache2 このファイルをファイル名、URLが分らなくする方法がわかりません。 例: http://kohhi.com/search?q=PHP%E3%80%8AB&src=IE-SearchBox&FORM=IE8SRC どのような仕組みで上記のような事ができるのでしょうか。 PHP、セキュアファイルで検索してもうまく検索できません。 サンプルプログラムなど、サイトを教えてくれるだけでも幸いです。

    • ベストアンサー
    • PHP
  • PHPを使用してメールを送信する際、「¥」が挿入されてしまう

    PHPを使用してメールを送信する際、「¥」が挿入されてしまう PHPを使用してメールを送信する際、特定の文字列の場合、 「¥」が挿入されてメールされます。 例えば、PHPで作成したメール送信画面で「予定」と入力し、 確認画面では「予定」と表示されていますが、 携帯メールに届いた文章には、「予\定」と入っています。 理由等、いろいろ調べましたら分かりませんので、 ご存知の人がいましたら教えていただけると大変助かります。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでメール送信

    こんにちわ。 PHP4でWEBサイトを作ろうとしております。その中で、フォームからメールの送信をしたいと考えているのですが、方法が可能かどうかおしえていただきたいと思っております。 WEBサーバとメールサーバが異なる場合でもメール送信は可能でしょうか。WEBサーバは自社内にあるのですが、メールサーバは、レンタル会社のものなのですが、そのレンタルサーバのSendmailを利用してメール送信することは可能でしょうか。 うまく説明できてないかもしれませんが、補足いたしますので、よろしくお願いします。

    • ベストアンサー
    • PHP