ダウンロード サンプルプログラム(Indy10) (386.8 KB)
ダウンロード サンプルプログラム(Synapse) (290.8 KB)
まとめ
最新のIndyやSynapseといったフリーのコンポーネントやライブラリで、SMTP認証やSMTP over SSL/TLSの実現が容易に行えることが分かりました。これらの機能はモバイル環境や無線LANからのメール送信などに必須の機能であり、こうした用途に用いられるアプリケーションの構築に便利なツールだと思います。
一方、インターネットメールで日本語文字コードを使うためにはコンポーネントやライブラリ任せではなく、実際にどのような処理が行われているのか、細心の注意を払わなければならないことも分かりました。現在、国内で使われている多くのメーラーは文字化けを防ぐ手立てを有しており、日本語8bit文字処理や、誤った文字コード変換を行ったヘッダでも文字化けせずにデコードすることが可能です。
従って、MIMEのEncodeを行わずとも、あるいは本文を7bitのISO-2022-JPに変換しなくても、送信したメールが文字化けして読めないことはないのかもしれません。しかし、LAN内限定ならば問題は無くとも、インターネットで使う以上、ルールを守りRFCに準拠すべきでしょう。つまり、インターネットの通信機能に利用されるコンポーネントやライブラリには、容易、かつルール違反でない、RFC準拠を実現できる環境の提供が望まれます。その意味で、Indy 10は日本語文字コード変換処理を別に行う必要があるという点では不完全なコンポーネントと言えるかも知れませんが、Synapseのように自動的にすべてQ encodeを行うことが正解であるとも言い切れないのも事実です。
繰り返しになりますが、インターネットメールで日本語文字コードを使うためにはコンポーネントやライブラリ任せではなく、実際にどのような処理が行われているのか細心の注意を払い、可能な限りトラブルの種をとり除くことが必要です。
本稿で実験検証した内容がメール送信機能の実装に際して、より安定した動作や環境に適した機能を引き出すことの一助になれば幸いです。
参考資料
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
紺野 道広(コンノ ミチヒロ)
テクノスタリオン・インク取締役社長。日本大学歯学部兼任講師。流通・物流に伴う電子データ処理の効率化や、日々データベースに蓄積される業務データのデータマイニング、顧客心理や地域性といった非数値データを融合したデータ分析や解析を中心に、様々なアプリケーションソフトウェアも開発しています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
