• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スマホからPHPでメール送信したいと考えています。)

スマホからPHPでメール送信する方法

このQ&Aのポイント
  • スマホからPHPを使用してメールを送信する方法について説明します。
  • 具体的な手順としては、スマホのフォームから送信されたデータをPHPで受け取り、メールの本文を作成して送信します。
  • SMTPやsendmailの設定が必要ですが、初心者でも簡単にできる方法を解説します。

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

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.4

サーバーのマニュアルはよく見ましたか? http://www.quick-s.net/cgi-sample/bqcgi.html#PHP

Jhonny99
質問者

補足

ありがとうございます。 良くある質問は探してみたのですが、こちらにはたどり着けていませんでした。 次のように書き直して解決しました。 <?php mb_language("ja"); mb_internal_encoding("UTF-8"); $message = "名前:" . $_POST["name"] . "\n電話:" . $_POST["tel"] . "\n年齢:" . $_POST["age"] . "\n本文:" . $_POST["com"]; if (!mb_send_mail("info@abcd.jp", "モバイルからのお問い合わせ", $message, "From: " . $_POST["mail"], "-f info@abcd.jp")) { exit("error"); } 助かりました。ありがとうございました。 ?>

その他の回答 (3)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

ANo.1です。 運用環境がレンタルサーバであれば、Windowsだのxamppだのは無視していいですね(「xamppなら」という条件で私が書いた部分も忘れてください)。 >当然のようにerrorが表示されるだけです。 普通は(phpでメール送信可能と謳っているサーバなら)「当然のように送信される」ハズです。 http://php.net/manual/ja/function.mb-send-mail.php お勧めとしては(他の方も書かれているように)PEAR::Mailやjphpmailerなどのライブラリを使うべきですが(レンタルサーバはスパム判定に悩まされることが多いので)、それでも普通のレンタルサーバでmb_send_mailで(提示されたソースで)メール送信が出来ないというのは異常です。設定もれで文字化けに悩むケースは頻繁に見かけますが「送れない」というのはちょっと珍しいです。 お使いのレンタルサーバは「phpスクリプトからメール送信出来る」んですよね?(念のため確認)

Jhonny99
質問者

お礼

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

Jhonny99
質問者

補足

ありがとうございます。 レンタルサーバーはクイックサーバーです。 phpスクリプトからメール送信出来る ということは不明です。 ただsenmailが使えてパスがわかっていると言うだけです。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

mb_send_mail()はよくないのでやめた方がいいでしょう PEAR::Mailでsmtpを指定してメールすれば環境依存もへるかも

参考URL:
http://pear.php.net/manual/ja/package.mail.mail.php
Jhonny99
質問者

お礼

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

Jhonny99
質問者

補足

ありがとうございます。 リンク先を参考に書いてみました。 合っているかさっぱりわからないのですが。 あと内容も一部わかりません。 <?php include('Mail.php');  //このファイルはどこにあるのでしょう? $recipients = 'joe@example.com';  //ここは何を指定するところでしょうか?? $headers['From'] = $POST[mail];   //入力してもらったメアドを入れました $headers['To'] = 'info@abcd.jp';  //受け取りメアドを入れました $headers['Subject'] = 'モバイルからのお問い合わせ'; $body = "名前:" . $_POST["namae"] . "\n電話:" . $_POST["tel"] . "\n年齢:" . $_POST["age"] . "\n本文:" . $_POST["com"]; $params['sendmail_path'] = '/usr/sbin/sendmail';  //sendmailのパスを入れました。 // Mail::factory メソッドを使用してメールオブジェクトを作成します $mail_object =& Mail::factory('sendmail', $params); $mail_object->send($recipients, $headers, $body); ?> どうでしょうか?

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

とりあえず「私のサイト」というのは ・WinPC+xamppのLAN内のサイト(もしくは自宅サーバ) ・レンタルサーバ のどちらでしょうか。xamppであればsendmailのpathは no value のハズなので、提示された内容と矛盾します。かといってレンタルサーバで(sendmail利用可であれば)mb_send_mailの実行結果がfalseというのも考えにくいです。 なおローカルのxamppからメール送信であれば、SMTPとしてISPのメールサーバなどを指定するのが手っ取り早いと思います。

Jhonny99
質問者

お礼

ありがとうございました。

Jhonny99
質問者

補足

shimixさま ありがとうございます。 レンタルサーバーです。 これをこのままアップして実行すると error が表示されるので メールを送る部分ができていないようです。 xamppはphpの勉強をするときににインストールしました。 >なおローカルのxamppからメール送信であれば、SMTPとしてISPのメールサーバ >などを指定するのが手っ取り早いと思います。 これはどうすればいいのですか?

関連するQ&A