Perl でメール送信プログラムを作ったのですが、自宅の環境から会社に持ってきてテストすると文字化けしてしまいます。
自宅は、Yahoo ! , Biglobe なので送信できたのですが、会社は、自社でメールサーバを構築しているようです。
メールサーバは、qmail のようです。
ソースは、
$smtp = Net::SMTP->new("mailserver");
$smtp->mail($mailaddress);
$smtp->to($mailaddress);
$smtp->data();
$smtp->datasend("Date:$date\n");
$smtp->datasend("From:$mailaddress\n");
$smtp->datasend("To:$mailaddress\n");
$smtp->datasend("Subject:あいうえお\n");
$smtp->datasend("Content-Transfer-Encoding: 7bit\n");
$smtp->datasend("Content-Type: text/plain;charset=\"iso-2022-jp\"\n\n");
$smtp->datasend("\n");
$smtp->datasend("$StringBuffer\n");
$smtp->dataend();
$smtp->quit;
こんな感じで一般的なものです。
“あいうえお”が“ツつツつ「ツつ、ツつヲツつィツ”こんな感じに文字化けしています。
どなたかわかる方いませんか?
No.4ベストアンサー
- 回答日時:
subject は、ISO-2022-JP に変換した上で base64 でエンコードしましょう。
参考 : http://perltips.twinkle.cc/perl/encode_jis_subje …
本文も ISO-2022-JP に変換するのが無難です。
$StringBuffer に入っている本文の文字コードは何でしょうか。
EUC-JP だとすると
$smtp->datasend(encode('ISO-2022-JP', decode('EUC-JP', $StringBuffer)));
となるのかな。
参考 : http://hikoboshi.org/perl/doc/encode.html
No.2
- 回答日時:
$smtp->mail($mailaddress);
$smtp->to($mailaddress);
$date = &date;
$smtp->data();
$smtp->datasend("Date:$date\n");
$smtp->datasend("From:$mailaddress\n");
$smtp->datasend("To:$mailaddress\n");
$smtp->datasend("Subject:Software制作依頼\n");
$smtp->datasend("Content-Transfer-Encoding: 7bit\n");
$smtp->datasend("Content-Type: text/plain;charset=\"euc-jp\"\n\n");
$smtp->datasend("\n");
$smtp->datasend(encode("euc-jp", $StringBuffer)."\n");
$smtp->dataend();
$smtp->quit;
コードをこんな感じに直しましたが、文字化けしてしまいます。
あいうえお → ???臓単?総蔵丹?総蔵・?臓俗?B こんな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- システム メール送信について、ドメイン「@liam.co.jp」でメールを送信します。 ネットワークaにあるA 2 2022/05/31 15:47
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- その他(メールソフト・メールサービス) SMTPステータスコードとは? 2 2023/04/23 23:47
- ネットワーク ニフティメールのiPhoneとWin PCでの運用 1 2023/03/30 11:19
- Gmail gmailでSMTP サーバーの認証が通らない 3 2022/08/26 19:50
- ドメイン・サーバー・クラウドサービス Google Workspaceでの独自ドメインのメール送信について 2 2022/05/31 19:48
- その他(ソフトウェア) PC上のOutlookでIMAPアクセス時の送信が出来ない。Android上では問題なし。 2 2022/09/28 11:22
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
utf-8でメールを送信すると件名...
-
文字化けとパスワード変更
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
【Excel VBA】10進数を2進数に...
-
10Mバイトて文字数に すると何...
-
ListView重複データ削除
-
とほほさんのファイルのアップ...
-
LWP::Simple;でWebページを取得...
-
“半角カタカナ”は、ずいぶん昔...
-
ビットスワップとバイトスワッ...
-
VBAでShift-JISのURLエンコード
-
CGIの変数に配列を代入する方法
-
matlabのソースコードをpython...
-
VB2010でラベルに文字を結合したい
-
C言語でwin32apiを使ってnotepa...
-
チェックボックスのvalue値の取...
-
文字コードの利点・欠点について
-
PICマイコンで変数値の保持
-
なんで外国人の書く顔文字は横...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
&jcode'convert(しても文字化け...
-
CGIプログラムを使った申し込み...
-
全角カタカナチェックについて
-
ESC/Pのテキスト印字の制...
-
ソ噂浬欺圭構蚕十申曾箪貼能表...
-
CGIメールフォームのメールが文...
-
Perl でメール送信プログラム。
-
Perlのcgi-lib.plでデコードさ...
-
CGIフォームから飛ばすメールが...
-
utf-8でメールを送信すると件名...
-
この日本語の文章をリコーディ...
-
文字化け
-
ECUコードのCGIを編集す...
-
文字化け
-
SQLServerへの出し入れで文字化け
-
PerlのCGIで全角スペースを入れて
-
文字化けとパスワード変更
-
CGIについてです。教えて下さい...
-
.cgi でタグが勝手に変換されま...
-
応募フォームなどの住所欄で最...
おすすめ情報