$from= ''; $address=''; $from_email= ''; $message= ''; $postSend= isset($_POST['send'])? $_POST['send']: 'false'; if ($postSend == 'true') { $to = ($recipient_type=="static") ? $static_recipient : $_POST['to']; $from = $_POST['name']; $address = $_POST['address']; $from_email = $_POST['email']; $the_subject = ($subject_type=="static") ? "$static_subject" : $_POST['subject']; $message = $_POST['message']; if ( ($from == '')||($address == '')||($from_email == '')||($message == '') ) { $SendMail .= "<p class=\"$failClass\">$emptyFields</p>"; } elseif (eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $from_email)) { $subject = $the_subject; //$headers = "From: $from <$from_email>\r\n"; $headers = "From: ".mb_encode_mimeheader($from)."<$from_email>\r\n"; // clean out potential tomfoolery... $message = $modx->stripTags($message); $body = "Name: $from\nAddress: $address\nEmail: $from_email\nMessage:\n\n" . $message; if (mb_send_mail($to, $subject, $body, $headers)) { $SendMail .= "<p class=\"$successClass\">$success</p>"; $SendMail .= ($debug) ? "<p>$to\n$headers\n$subject\n$body</p>" : ''; $from=""; $address=""; $from_email=""; $message=""; } else { $SendMail .= "<p class='$failClass'>$generalFail</p>"; $send = "false"; } } else { $SendMail .= "<p class=\"$failClass\">$emailFail</p>"; $send = "false"; } } else { $SendMail .= "<p>$instructions</p>"; }
よぉ~く考えてみたら
http://modxcms.com/forums/index.php/topic,2122.0.html
を使えば、全て解決だったりして?
教えといて何ですが、コレすごく面倒臭いですね。(笑)
フォーラムを見て…とりあえず最初に表示用フォームと送信用のフォームが必要なことがわかりました。
メインのプログラムはスニペットフォルダーの「eform.inc.php」のようで、エラー箇所をとりあえずコメントアウトしてテストしてみました。
送信自体は問題なく出来ているようですが、やはり文字化けします。
エラー箇所が気にはなりますが、とりあえず日本語が通るように出来ればいろいろな場面で対応出来るように思います(フォームさえ用意しておけば本体プログラムをいじらなく良いのは結構楽かも…)。
やってみました。
私がテストしたのはhttp://modxcms.com/forums/index.php/topic,2122.15.htmlの上から2番目(xwisdom氏)のコードをそのまま使いました。
とりあえず、エラーは出ませんでした。
HTML形式でレポートされるんですね。
テキストにならんもんかな?
文字化けは、HTML形式なんでcharsetを変更すればOKですね。
こっちの場合は、特にmb_string()を使わなくても大丈夫そうですけど。
takizさんとは、レポート送信の方法が違うのかな?
エラーの件は、分かんないですぅ~。
Nice!
とりあえず、テスト版ってことで こっち に書きました。
HTMLメールがデフォルトというか固定だったので、これらをパラメタにしたりとか、ちょっと改造しています。
詳細は、上のリンクにさらっと書いてありますが・・・ソース見た方が早いかもぉ。
パラメタがいっぱいあるので、全部は試してないですぅ
っていうことで、お試しください