記事No | : 1075 |
投稿日 | : 2007/07/17(Tue) 00:01:06 |
タイトル | : postmailがgmailで文字化け |
ID情報 | : kuronjp |
投稿者 | : クーロン |
URL | : http://kuronjp.kuron.jp/postmail/postmail.html |
postmailの入力内容のコピーと説明文を加えた状態で自動返信する
ようにしています。
yahooなどのメーラーで受信するには問題ないのですが、
Gmail(https://mail.google.com/mail/)で受信すると
tmplフォルダのbody.txtの内容は文字化けしませんが、
postmail.cgiに追加した説明文などが文字化けしてしまいます。
以下コードですが、何が原因なのでしょうか?
宜しくお願いします。
# MIMEエンコード
if (-e $mimew) {
require $mimew;
$subject2 = &mimeencode($subject);
$from = &mimeencode("\"$master_name\" <$mailto>");
$from2 = &mimeencode("\"$in{'name'}\" <$email>"); ## ←追加
} else {
$subject2 = &base64($subject);
$from = &base64("\"$master_name\"") . " <$mailto>";
$from2 = &base64("\"$in{'name'}\"") . " <$email>"; ## ←追加
}
# 送信内容フォーマット化
$body = "To: $mailto\n";
$body .= "From: $from2\n"; ## ←修正
#if ($cc_mail && $email) { $body .= "Cc: $email\n"; } ## ←コメントアウト
$body .= "Subject: $subject2\n";
$body .= "MIME-Version: 1.0\n";
$body .= "Content-type: text/plain; charset=iso-2022-jp\n";
$body .= "Content-Transfer-Encoding: 7bit\n";
$body .= "Date: $date2\n";
$body .= "X-Mailer: $ver\n\n";
$body .= "$tbody\n";
# 送信内容フォーマット化
$name = $in{'name'}; ## ←追加
$tbody2 = <<EOM;
--------------------------------------------------------
ここに入力した説明文が文字化け
--------------------------------------------------------
$name 様
上の名前も文字化け。ここに入力した内容も文字化けします
EOM
$body2 = "To: $email\n";
$body2 .= "From: $from\n";
$body2 .= "Subject: $subject2\n";
$body2 .= "MIME-Version: 1.0\n";
$body2 .= "Content-type: text/plain; charset=iso-2022-jp\n";
$body2 .= "Content-Transfer-Encoding: 7bit\n";
$body2 .= "Date: $date2\n";
$body2 .= "X-Mailer: $ver\n\n";
$body2 .= "$tbody2\n";
$body2 .= "$tbody\n"; ## ←追加
記事No | : 1077 |
投稿日 | : 2007/07/17(Tue) 18:28:20 |
タイトル | : Re: postmailがgmailで文字化け |
ID情報 | : kent |
投稿者 | : KENT |
URL | : http://www.kent-web.com/ |
> postmailの入力内容のコピーと説明文を加えた状態で自動返信する
> ようにしています。
> yahooなどのメーラーで受信するには問題ないのですが、
> Gmail(https://mail.google.com/mail/)で受信すると
> tmplフォルダのbody.txtの内容は文字化けしませんが、
> postmail.cgiに追加した説明文などが文字化けしてしまいます。
>
> 以下コードですが、何が原因なのでしょうか?
> 宜しくお願いします。
考え方だけですが、postmail.cgiでは、本文の文字コードをJISコードに変換して送信しています。
改造追加した部分だけが文字化けを起こしているのならば、文字コードが統一されていないせいではないでしょうか。
記事No | : 1079 |
投稿日 | : 2007/07/17(Tue) 20:21:14 |
タイトル | : Re^2: postmailがgmailで文字化け |
ID情報 | : kuronjp |
投稿者 | : クーロン |
URL | : http://kuronjp.kuron.jp/postmail/postmail.html |
実はあまり分からない初心者なのですが、文字コードを統一
させる為には、どのように書き変えれば良いのでしょうか?
基本的なことかもしれませんが、どうか宜しくお願いします。
記事No | : 1080 |
投稿日 | : 2007/07/17(Tue) 20:28:24 |
タイトル | : Re^3: postmailがgmailで文字化け |
ID情報 | : fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> 実はあまり分からない初心者なのですが、文字コードを統一
> させる為には、どのように書き変えれば良いのでしょうか?
> 基本的なことかもしれませんが、どうか宜しくお願いします。
PostMailの上位版のClipMailに変更すれば問題が解決すると思いますが。
http://www.kent-web.com/data/clipmail.html
記事No | : 1084 |
投稿日 | : 2007/07/18(Wed) 01:54:24 |
タイトル | : Re^4: postmailがgmailで文字化け |
ID情報 | : diva |
投稿者 | : クーロン |
ClipMailにすることでGmailの文字化けの件は解決できました。
ありがとうございました。
しかしひとつ問題がありまして、自動返信本文内容内に送信者の
名前を表示させたくて、body_resに
$name 様
としてみたのですが、なにも変化がありません。
自動返信メール本文内に名前&様を表示させる為にはどのように
したら良いのでしょうか?
記事No | : 1085 |
投稿日 | : 2007/07/18(Wed) 08:24:27 |
タイトル | : Re^5: postmailがgmailで文字化け |
ID情報 | : fuyuki |
投稿者 | : BAL |
URL | : http://f43.aaa.livedoor.jp/~sumure/ |
> ClipMailにすることでGmailの文字化けの件は解決できました。
> ありがとうございました。
>
> しかしひとつ問題がありまして、自動返信本文内容内に送信者の
> 名前を表示させたくて、body_resに
> $name 様
> としてみたのですが、なにも変化がありません。
>
> 自動返信メール本文内に名前&様を表示させる為にはどのように
> したら良いのでしょうか?
以下の修正を
sendmail.pl
#-------------------------------------------------
# 送信実行
#-------------------------------------------------
-- 途中省略 --
# 自動返信ありのとき
my $resbody;
if ($auto_res) {
# テンプレ
open(IN,"$tmpl_bres");
while (<IN>) {
s/\r\n/\n/;
s/\r/\n/g;
$resbody .= $_;
}
close(IN);
# 変数変換
$resbody =~ s/\$date/$date1/g;
$resbody =~ s/\$agent/$agent/g;
$resbody =~ s/\$host/$host/g;
$resbody =~ s/\$name/$in{'name'}/g;## ←追加
# コード変換
記事No | : 1086 |
投稿日 | : 2007/07/18(Wed) 11:47:46 |
タイトル | : Re^6: postmailがgmailで文字化け |
ID情報 | : kuronjp |
投稿者 | : クーロン |
BAL様
無事成功しました。Gmailでも文字化けもなく、なにもかもがバッチリです。
ご親切にありがとうございました。