メール送信のシステムをPerlで作っています。
文字コードUTF-8で送信しようと思っていますが、UTF-8の場合の問題点を教えてください。
自分で調べた限りでは、昔は対応していないメーラーだと文字化けしていたが、今は対応していないメーラーはないので、大丈夫、という認識です。
しかしながら、大手のAmazonやYahoo!、プロバイダや銀行などから飛んでくるメールは、ほとんど全てがISO-2022-JPで飛んできます。
自分が知っている限り、UTF-8を使用しているところはありません。
なので、UTF-8でメール送信することに不安を感じています。
AmazonやYahoo!は、UTF-8だと何か問題があったので、あえてISO-2022-JPを使っているのでしょうか?
ISO-2022-JPだと 髙 などが文字化けするはずなのですが、髙→高に変換してメール送信しているのでしょうか?
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
> 821 は obsolete だから参照しちゃダメですよぉ>#2. 今なら少なくとも 2821 の方を参照しないと....
2821 は obsolete だから 5321 を参照しないと。
ただし、UTF8 を使うかどうかの判断に RFC5321 や RFC5322 はあまり関係ない。
(8bit対応してないSMTPサーバーがいるかもしれないから7bitにencodeしてねとかそれくらい)
受け取る人が限られていてその人たちがUTF8で問題ないならUTF8で送れば良いと思います。
Amazon や Yahoo! は受け取る対象が不特定多数なので ISO-2022-JP が無難なわけですね。
この回答への補足
回答ありがとうございます。
相手は不特定多数です。
No.2さんへの補足でも書きましたが、ISO-2022-JPだと髙や﨑が文字化けすると思います。
文字化けすることについて、http://oshiete.goo.ne.jp/qa/6471012.html でアドバイスいただき、UTF-8にしようと思いました。
しかし、UTF-8だと危険なようですね。
ISO-2022-JPでも髙や﨑が文字化けしない方法あるのでしたらいいのですが。。。
No.3
- 回答日時:
821 は obsolete だから参照しちゃダメですよぉ>#2. 今なら少なくとも 2821 の方を参照しないと....
2821 には「SMTP サーバは 8BITMIME をサポートしなきゃだめ」って書いてあるけど, 逆に「8BITMIME を無制限に許しているわけではない」という感じに読める (英語だと
8BITMIME SHOULD be supported by SMTP servers.
However, it MUST not be construed as authorization to transmit
unrestricted eight bit material.
と書いてある) ので, 「途中」を考えると 8ビットで送るのはちょっとリスキーかもしれない.
No.2
- 回答日時:
逆に聞きますが
なぜUTF-8でメールをしようと思うのですか?
なぜISO-2022-JPではダメなんですか?
で・・ISO-2022-JPですけど,
この符号化は「7ビット」でOKだから使われてるんですよ.
8ビット目があるとわけのわからんことしてくれる
(8ビット目はクリアされてしまう)
サーバが昔は結構あったのです.
今でもそーいうサーバが生き残ってるかもしれないし,
#しらべてみたら・・・SMTPのRFC821では7ビットに規定してるようだ
メールシステムはいわば「バケツリレー」だから,
安全性を考えれば,ISO-2022-JPとなるのでしょう.
この回答への補足
回答ありがとうございます。
>逆に聞きますが
>なぜUTF-8でメールをしようと思うのですか?
>なぜISO-2022-JPではダメなんですか?
ISO-2022-JPでは髙や﨑が文字化けするからです。
先週、ここで質問したときに、UTF-8にするようアドバイスいただきました。
http://oshiete.goo.ne.jp/qa/6471012.html
ISO-2022-JPでも髙や﨑が文字化けしない方法あるのでしょうか?
No.1
- 回答日時:
日本国内のPC間でやり取りするならほぼ問題ないかと思います。
ただ、歴史的には7bitが保証されているので海外はどうかな?
後、困ってしまうのが携帯へのメールです。
http://jp.layer8.sh/reference/entry/show/id/198
auはUTF-8には対応していないのです。
というか、キャリアごとにバラバラですね。
> ISO-2022-JP だと 髙 などが文字化けするはずなのですが、髙→高に変換してメー
> ル送信しているのでしょうか?
これはしません。文字化けします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- Excel(エクセル) 文字化け。メモ帳でUTF-8に変換後、エクセルへ貼り付けたいです。 3 2022/08/14 07:21
- HTML・CSS <meta charset="utf-8"><!-- 文字化け防止ユニコード --> ?最近モバイル 1 2022/12/11 04:27
- Windows 8 win8 "ベータ ワールドワイド言語サポートで Unicode UTF-8 を使用"を出したい 2 2023/05/23 19:57
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- その他(メールソフト・メールサービス) 【GAS】GMail自動送信 2 2022/09/04 06:19
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- その他(教育・科学・学問) IUと単位は、同じですか? 例えば、写真の20単位は、20IUという意味ですか? https://w 1 2023/02/04 18:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
javamailでメール送信ができません
-
VBScriptで、メールの送信をし...
-
VBAでsmtp認証をするには?
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 『Call』で呼び出す...
-
例外処理のフローチャートの記...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
モジュールの最大数はいくつな...
-
ユーザーフォームに最小化・最...
-
VBでグローバル変数を宣言するには
-
'Range'メソッドは失敗しました
-
Excel VBAで、ユーザーフォーム...
-
サブルーチンを認識しません。
-
エクセルVBAでシートモジュール...
-
Excelシート内セル記述の違いに...
-
perl起動方法
-
【vba】フォームに書いてあ...
-
Excel VBA 定義されたプロージ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
c#で 簡単なメール(添付ファ...
-
Perl メールフォーム複数のアド...
-
CDO.Messageを使ったVBScript
-
Enterキーを押しても送信しない...
-
【C言語】メールを送信するプロ...
-
送信先のメールアドレスが存在...
-
プロキシ経由でjavamailを使っ...
-
VBScriptで、メールの送信をし...
-
perl 自動返信メールプログラム...
-
C#のメール送信時のエラーについて
-
空メールシステムについて
-
フォーム経由で送られるURLつき...
-
フォームメール、時刻を設定し...
-
Net::SMTPでメールを送信したい...
-
sendmailでメール送信
-
C言語のプログラム内でトリガを...
-
VBAでsmtp認証をするには?
-
セッションIDの受信・・(初心者...
-
リンクをクリックするだけでC...
おすすめ情報