
フォームメール送信の文字化けについてお教え下さい。
よろしくお願い致します。
まずは環境より申し上げます。
環境
xampp-win32-1.7.7-VC9
同封
apache2.2.21
php5.3.8
perl 同封されているもの
-----------------------------
xmailサーバーも動いています。
内部、外部、外部から外部、ともに正常に送受信できています。
以前はANHTTPDとperlとsendまね~るで問題なく動いていましたが
このたびPHPが必要になりましたので以前のperlをアンインストールしてXAMPPをインストールしました。
以前からの自作のメールフォームを設置してメールを送信すると
受付確認メールと問い合わせ報告メールのすべてが文字化けしています。
一応 文字コードはUTF-8で mail.html、 perlプログラム、ともに統一しています。
apacheのhttpd.confの中にはAddDefaultCharset・・・の設定項目がなぜかありませんので
apacheについては文字コードの設定などはおこなっておりません。
症状ですが
メールフォームに入力して確認ボタンを押すと現れる確認画面は
文字化けしておりません、高崎、申す、表示という文字も化けていません。
このあと送信ボタンを押すと メールは宛先へ正常に届きますが
タイトルからすべてが文字化けで読む事はできません。
原因探しが三日くらい続き、気になって寝られません。
ひろいあつめて書いたコードですが、
よろしくお願いいたします。
# MIMEエンコード
$mail_to = mimeencode($MAILTO);
$mail_from = mimeencode($FORM{'name'});
$mail_subject = mimeencode($FORM{'subject'});
# 文字コードの変換
$body = jcode::jis($user_owner);
# メールヘッダーの生成
$header = <<END;
To: $mail_to
From: $mail_from<$FORM{'email'}>
Subject: $mail_subject
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
# サーバー出力
print <<END;
Content-type: text/html; charset=utf-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
# メールの送信
open(MAIL, "| $SENDMAIL -i -t -f $FORM{'email'}")
or die("エラー:sendmailへのパイプが開けません");
print MAIL $header, $body;
close MAIL;
部分的で分かりにくいかもしれませんが
どなたか どうぞよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
> # MIMEエンコード
> $mail_to = mimeencode($MAILTO);
> $mail_from = mimeencode($FORM{'name'});
> $mail_subject = mimeencode($FORM{'subject'});
>
> # 文字コードの変換
> $body = jcode::jis($user_owner);
先頭が小文字の jcode は、UTF-8 をサポートしていないので変換できません。また、mimeencode も mimew.pl のものだとしたら、やはり UTF-8 はサポート外だと思います。
早々のお答えありがとう御座います。
エンコードの部分が間違っているのですね。
また、UTF-8がサポートされていないことも大変参考になりました。
お蔭様でUTF-8で動くものを作り直す決心がつきました。
ボケ防止に頑張ってみますね。
貴重なお時間もありがとうごさいます。
No.1
- 回答日時:
メールは必ずiso-2022jpで送らなければならないこと
メールヘッダは、ASCII文字イガイはBACE64エンコードしなければならない
本文も含め一行64文字以下でないとならない
( http://www.akanko.net/marimo/data/rfc/rfc2045-jp … )
ここは理解されていますか??
お答えありがとう御座います。
何年も前に作ったもので忘れておりました。
プログラムができるまでメールフォームは止めます。
昔のようにまた本を開いて楽しみに作ります。
ありがとう御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームの日本語が文字化け
-
JSONで文字列が長い時
-
VB6で、長い時間かかる処理...
-
Application.ScreenUpdating = ...
-
C言語のflagの使い方が分かりま...
-
実行時エラー 3020の対策
-
formで特定のinputを送信しない...
-
プルダウンメニューで中央表示
-
html select optionが左寄せに...
-
favicon.ico
-
プロトタイプ宣言のワーニング...
-
C言語を用いて、2つのファイル...
-
問題作成のWebアプリの作り方を...
-
Pythonでコンソールをクリアす...
-
プルダウンメニューがプルアップに
-
同じものを繰り返し表示させる
-
【メモリ不足で落ちる(python)】
-
Perlでの数字の12桁化
-
ACCESS テキストボックスを隙...
-
16進の10進変換について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sendmailのFROMに日本語を使う
-
Perlからメール送信で文字化け
-
sendmailで複数の宛先にメール...
-
perl フォームメール送信の...
-
CGI メールフォームからBCCのア...
-
フォームメールの自動返信について
-
メールフォームを作成したいの...
-
サーバー内のテキストデータを...
-
フォームの日本語が文字化け
-
sendmailで送信したメールが届...
-
sendmailについて
-
Sendmailで送信。メアドが違う...
-
sendmailで本文が文字化けします
-
メーラーに自動的にメッセージ...
-
Perlにて、sendmailを使用する...
-
Perl メール 初心者
-
sendmailが上手く動かないのか...
-
Perl からbashを呼び出したい
-
自動返信について
-
Perl SendMail Bcc メルマガ
おすすめ情報