![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
メール送信フォームを作成しているのですが、
悩み続けて1週間たちました(とほほ)
今自分自身で理解してる事は
System=Linux
Server=Apache
PHP=4.23
sendmail_path=/usr/sbin/sendmail -t -i
Configure Command=--enable-mbstring
と言う事で
mb_send_mailが使えるのは確認できました。
ページは下記のように記載してあります。
エラーはでませんが、メールが届きます。
わかる方教えていただけますでしょうか?
一部省略しています。
<FORM METHOD="POST" ACTION="<?php echo $PHP_SELF; ?>" ENCTYPE="text/plain">
<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2">
<TR>
<TD><INPUT TYPE="text" NAME="from" SIZE=40></TD>
</TR>
<TR>
<TD >
<SELECT NAME="to">
<OPTION VALUE="---">---</OPTION>
<OPTION VALUE="xxx@xxx.com">商品</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD >
<textarea name="message" ></textarea>
</TD>
</TR>
<TR>
<TD >
<nput type="hidden" name="actionモ VALUE=post>
<input type="hidden" name="subject" value="質問">
</TD>
</TR>
</TABLE>
</FORM>
<?php
function SendMessage(){
global $to,$subject,$meessage,$from;
if(mb_send_mail($to, $subject, $meessage, $from)){
print "メールが送信されました。$to";
} else {
print "メールの送信に失敗しました";
}
}
if($action == "post"){ SendMessage(); }
else{ }
?>
No.7ベストアンサー
- 回答日時:
>sendmail_fromでme@localhost.com
この件なのですが、
http://okweb.jp/kotaeru.php3?q=564411
http://de3.php.net/manual/ja/ref.mail.php
このマニュアルを見ると、
sendmail_from string
>Windows環境でPHPから送信されるメールにおいて
>"From:" に使用する メールアドレスを指定します。
となっていますので、メールが送られない事とはあまり関与しないように思います。
ちなみに当方の設定も同じでした。
ですので、マニュアルに沿ってPHPの設定を見直し、
Linux側でsendmailのできる環境であるか、PATHがどうなっているか
を確認されてはいかがでしょうか。
詳しくもないのに長々とお邪魔致しました。
ご参考までに。
No.6
- 回答日時:
私も詳しくはわからないのですが、過去の質問に以下のようなものがありました。
http://okweb.jp/kotaeru.php3?q=860294
http://okweb.jp/kotaeru.php3?q=869145
なので、もしかしたら何らかの設定が足りないのかもしれません。
お力になれなくて申し訳ありません。
ご参考までに。
参考URL:http://okweb.jp/kotaeru.php3?q=860294
No.5
- 回答日時:
度々失礼致します。
当方では、以下のような感じで正常に動作が確認できました。
//sdmltest.html
<html>
<body>
<form method="POST" action="sdmltest.php">
<table border="1" cellspacing="2" cellpadding="2">
<tr>
<td><input type="text" name="from" size=40></td>
</tr>
<tr>
<td >
<select name="to">
<option value="---">---</option>
<option value="xxx@xxx.co.jp">商品</option>
</select>
</td>
</tr>
<tr>
<td >
<textarea name="message"></textarea>
</td>
</tr>
<tr>
<td>
<input type="hidden" name="action" value=post>
<input type="hidden" name="subject" value="質問">
<input type="submit" name="submit" value="送信">
</td>
</tr>
</table>
</form>
</body>
</html>
//sdmltest.php
<?php
print_r($_POST); //試しにPOSTの内容を表示
print "<br>";
foreach($_POST as $key => $value) {
$$key = $value;
}
$subject = "testmail";
if( $submit ){
SendMessage();
} else {
echo "missing!";
}
function SendMessage(){
global $to,$subject,$message,$from;
echo $to . $subject . $message . $from . "<br>";
//globalが動いているか確認のため表示
$header = "From: $from";
mb_language("Japanese");
if(mb_send_mail($to, $subject, $message, $header)){
print "メールが送信されました。$to";
} else {
print "メールの送信に失敗しました。";
}
}
?>
試してみて、POSTもglobalも問題無しなのに、
「失敗しました」
と表示されるようであれば、レス下さると当方も勉強になります。
しつこくすみません。
ご参考までに。
この回答への補足
わかりやすいコメント、本当にありがとうございます。
今試しました。
Array ( [from] => xxx@hotmail.com
[to] => xxx@hotmail.com
[message] => test
[action] => post
[subject] => 質問
[submit] => 送信 )
で値は取得しました。
メッセージはメールが送信されましたと帰ってきます。
ですがメールが届かないのです、会社のメールアドレスとホットメール両方試しましたが、両方のアドレスに届きません.
PHPインフォで気になる所があるのですが
sendmail_fromでme@localhost.com
と記載されていますが、この意味はこのサーバー意外のメールアドレス宛には送れない?って事でしょうか?
No.4
- 回答日時:
register_globals
register_globalsの値はONになってますか?
PHP4.2.x系だとOFFになってるんじゃないでしょうか?
$PHP_SELFを$_SERVER['PHP_SELF']にしてもダメですか?
No.3
- 回答日時:
><FORM METHOD="POST" ACTION="<?php echo $PHP_SELF; ?>" ENCTYPE="text/plain">
ここを見て、もしかしてと思ったのですが、
質問文のソースは全部一つのスクリプトファイル内の記述ですか?
だとしたら、html の部分をsendmail.html として、
php の部分を sendmail.php として、
更に、
><FORM METHOD="POST" ACTION="<?php echo $PHP_SELF; ?>" ENCTYPE="text/plain">
→action="sendmail.php"
として、試してみては。
念のための確認ですので、違っていたら失礼しました。
No.2
- 回答日時:
では、確かめて欲しいことを2、3点。
<input type="submit" name="submit" value="送信">
などとして、formの内容を送っていますか?
foreach($_POST as $key => $value) {
$$key = $value;
}
などとして、POSTしたデータを受け取っていますか?
または、自動でそうなるように設定されていますか?
http://okweb.jp/kotaeru.php3?q=1056390
>if($action == "post"){ SendMessage(); }
上の2点がOKであれば、ここは、
if($submit){ SendMessage(); }
などとすれば良いと思います。
>global $to,$subject,$meessage,$from;
→$message
など、タイプミスが見られますので、本文の確認もしてみてください。
参考として、URL載せて置きます。
参考URL:http://www.komonet.ne.jp/~php/program/chap10.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DBの値をチェックボックスに反...
-
入力フォーム→確認画面→送信画...
-
phpで分からないエラーが出てし...
-
画面が更新されてもチェックボ...
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
-
チェックボックスのvalueを連結...
-
配列をhiddenで
-
PHPの関数実行
-
<input type="hidden" >で配列...
-
入力した部分を表示させたまま...
-
phpとデータベース
-
PHPのページ間による配列の受け...
-
複数選択の方法が分からないの...
-
PHP ボタンが押されたら処理を...
-
氏名をあいうえお順に並べて行...
-
HTMLのリンクをクリックするこ...
-
PHP初心者です。何処がエラーな...
-
複数のチェックボックスの確認
-
PHPで、ボタンを押すと同じペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
パラメーターを隠す
-
フォームへの前回入力値をクリ...
-
PHPで画像の渡しが上手く行きま...
-
フォームボタンを押すたびに数...
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
PHPの関数実行
-
テキストボックスに初期値を入れる
-
入力した部分を表示させたまま...
-
phpで分からないエラーが出てし...
-
入力フォーム→確認画面→送信画...
-
画面が更新されてもチェックボ...
-
Javascript→PHPに...
-
配列をhiddenで
おすすめ情報