1件のコメント

telnetで日本語メールを送信する

telnetでメールを送信する方法について以前紹介しました。

今回はtelnetから日本語でメールを送信する方法を紹介してみようと思います。もちろん実用性はほぼ無いのですが、メールの仕組みを理解するためには結構良い練習になると思います。是非この記事を見ながら、自分のアドレスにメールを送信してみてください。

 

(※注意※ 昨今はSPAM対策でプロバイダによってはそもそもSMTPでの接続を許可していないところが多いです。初めのメールサーバーへの接続の段階でうまく接続できなかったら残念ですが、別途勉強のためにSMTPサーバーを立ててそこに対してメールを送信してみるなどしてみてください。)

とりあえず日本語で入力してみる

まずはtelnetでメールサーバーに接続します。(ここでは私の自宅のメールサーバーに接続しています。)

image

前回紹介した方法で、メールの送信元、送信先を入力します。

image

まず、ヘッダ部分を入力します。メールヘッダとメールボディの間には空行が1行必要です。

image

さて、ここで日本語を入力してみましょう。Alt + 全角半角キーを押して、えいやと。「日本語のテストメールです。」と入力してみます。

image

おや?なんだか、入力しているそばから文字が化けていきますね…。

とりあえず送信を完了します。送信の最後は「<CR><LF>.<CR><LF>」です。「改行.改行」ですね。

image

さて、とりあえずメールは送ってみました。どうなったでしょうか?着信したメールをgmailで確認してみます。

image

おお!文字化けせずにきちんと日本語が見えますね。本当は記事を書く前にはここでは文字化けすることを想定していたのですが、Windows7からgmailへの送信では化けませんでした。gmailは優秀ですね!

gmailでは化けませんでしたが、結構な数のメールシステムではこの送信方法では文字化けが発生すると思います。自分のシステムで試してみてください。

到着したメールのチェック

せっかく文字化けせず送信できましたので、中身をもうちょっと見てみましょう。gmailではメッセージのソースを見ることができます。ソースを見てみましょう。

image

image

ソースの状態でもきちんと日本語が見えてますね。それではこの状態でエンコードを確認してみます。

image

ちょっと見づらいですが、Shift-JISになっていることがわかると思います。これで確認できましたが、先ほどは日本語をShift-JISで送信したのでした。そして、メール本文をShift-JISで記述してそのまま送信するのはRFC違反であり、文字化けする可能性が結構高くなってしまいます。

日本語をメールで送信する際には文字コードにJIS(ISO-2022-JP)を使用するのがお約束になっており、これであればまず文字化けしません。なので、telnetから日本語メールを送信する場合もJISで送信すべきです。(このあたりの細かい話はまた別エントリで…)

telnetのcodesetを設定する

さて、それでは今度はきちんとtelnetの設定をおこなって、RFC的に正しいメールを送信してみましょう。

まず、telnetを起動します。引数無しでtelnetだけですね。

image

image

まず、現在の設定を確認してみます。displayコマンドを入力します。

image

codeset = 漢字コードセット は設定されていない状態になっています。helpを表示するとset codesetコマンドで漢字コードセットの設定ができることがわかりますので、JIS Kanjiに設定しましょう。

image

この漢字コードセットの設定は保存されますので、一度telnetを終了しても再度設定する必要はありません。さて、それではこの状態でもう一度メールを送ってみましょう。openコマンドで接続を開始できます。

image

image

今度は telnet上でも日本語がきちんと見えるようになりましたね。(※ただ、終端の改行.改行が意図したとおりになりませんでした。これは私も原因がよくわからない…というか<crlf>.<crlf>になってないからなのは確実なのですが、ちょっと変な挙動のように思います。telnetのバグ?)

とりあえずgmail側で確認してみましょう。

image

今度もきちんと日本語が表示されました。ソース、文字コードも確認しましょう。

imageimage

ソース上では日本語がそのままは読めません。エンコードはShift-JISになっています。これを「日本語(ISO-2022-JP)」に変更します。

image

image

きちんと日本語が読めるようになりました。これできちんとJISで送信できていたことが確認できました。この形式であればほぼ間違いなく、すべての日本語メール環境でメールが読めるはずです。

細かいところはひとまずおいておきましょう。メールでは日本語はJIS(ISO-2022-JP)で送るという事をまずは抑えておいてもらえればと思います。

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。

x
11月15日にHuaweiさん、IIJさん、Microsoftさん、JBSでAzure Stackのセミナーを行います。私も登壇させてもらいます。懇親会もあります。 是非ご参加下さい! セミナー申し込みページ:https://www.jbs.co.jp/event/list/2018/1115