CGIからsedmailを呼び出してメールを送信しています。
その時に差出人の部分の日本語が文字化けしてしまいます。
そこで&jcode'convertでjisに変えたのですが、今度は
CGIがサーバーエラーになってしまいます。
どうすればよいでしょうか。
スクリプトはこんな感じです。
-----------------------------------------------
$from = '両国';
$subject = 'テスト';
&jcode'convert(*from, 'jis');
&jcode'convert(*subject, 'jis');
&jcode'convert(*msg, 'jis');
$errno = 1 unless open(MAIL, "| /usr/lib/sendmail -t");
return 0 if $errno;
print MAIL "To: $MailTo\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain;\n\n";
print MAIL "$msg\n";
$errno = 2 unless close(MAIL);
return 0 if $errno;
No.1ベストアンサー
- 回答日時:
解決できるような回答ではありませんが.
メールのヘッダに日本語を書くことは、基本的には
できません.
JISコードに変換後、、MIME(Base64)でエンコードして
から送付しないとダメです.(RFC2045,RFC2047)
jcode.pl でなく、jcode.pm には、
MIMEエンコードの機能が付いています.
http://openlab.ring.gr.jp/Jcode/index-j.html
他にも、MIME 関係のモジュールを利用する手もあります.
(MIME::Base64 など)
参考URL:http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
No.2
- 回答日時:
To: や From: には、ASCII文字の一部しか使えません。
しかも、その構造も規定されているので、いわゆる xxx@yyy という形のアド
レスを含まないプレーンなテキストだけでは指定できないはずです。
可能な形式は、
xxx@yyy
か、
phrase <xxx@yyy>
で、(text) という括弧入りのコメントを適当な位置に置けます。
phrase とか text の部分に日本語を入れたいときには、MIMEエン
コードする必要があります。
参考URL:http://www3.cds.ne.jp/~marimo/data/rfc/rfc2047-j …
ご回答ありがとうございました!
入れた覚えのないメールアドレスがFROMにくっついて
くるのはそのせいだからなのですね。
すっきりしました。ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 この"e-mail"が複数形でもなく、無冠詞なのはなぜですか? 「表現のための実践ロイヤル英文法」に 1 2022/07/10 16:12
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) I2C接続のLCDディスプレイを使う 2 2023/05/01 17:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームの日本語が文字化け
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
<SELECT>タグの折り返し
-
16進の10進変換について
-
実行時エラー 3020の対策
-
文字の横にプルダウンを表示さ...
-
デ-タテ-ブルの内容での更新...
-
セレクトメニューで2つの項目...
-
数値英単語変換
-
セレクトボックスのselected属...
-
複数列を持ったリストボックス...
-
selectタグ内の特定のoptionの...
-
【メモリ不足で落ちる(python)】
-
STLのlistで重複するものだけを...
-
【至急!!!】python言語で本を見...
-
パイソンのクラスについて
-
awkの正規表現での最左最短マッ...
-
テーブル内でドロップダウンメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sendmailで複数の宛先にメール...
-
sendmailで本文が文字化けします
-
フォームの日本語が文字化け
-
sendmailで複数アドレスに送信...
-
sendmailで送信したメールが届...
-
sendmailができない
-
sendmailのFROMに日本語を使う
-
perl フォームメール送信の...
-
perlのメールフォームでS/MIME送信
-
Sendmailの文字化けについて
-
crontabで
-
Perl SendMail Bcc メルマガ
-
メールのタグ(<a href="mailto:...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
どちのほうがすきですか?
-
formで特定のinputを送信しない...
-
文字の横にプルダウンを表示さ...
-
16進の10進変換について
-
実行時エラー 3020の対策
おすすめ情報