日本語メールの送信で起こりうる予期せぬクレーム~.NET Framework標準機能と市販コンポーネント「Secure Mail」を徹底比較~
Secure Mailを使ったメール送信システム構築
ダウンロード サンプルソース (240.3 KB)
.NET Frameworkの「System.Net.Mail」を使って日本語メールを送信する場合、さまざまな問題があります。そこで今回は、意図的にトラブルが発生するようなデータを使って、「System.Net.Mail」とグレープシティのメール送受信コンポーネント「Secure Mail 2.0J」を比較してみたいと思います。
.NET Frameworkにおける日本語メールの問題点
.NET Frameworkは、帳票系が弱いなど機能面で日本の実情や文化にうまくマッチしていない部分はありますが、基本的には日本語もうまく扱え、海外生まれの実行環境だという違和感を感じる場面に出くわすことは少ないと思います。
しかし、メールの送受信に関しては別です。.NET Frameworkの一部であるSystem.Net.Mailも日本語化されており、テスト実施時にも問題が発見されることはあまりないのですが、いざ実運用を開始すると、
「メールを受け取った弊社のお客様から『文字化けしている』という連絡が入っているのだけれど、どういうことでしょうか。説明をお願いします」
といったようなクレームが、納品先から入る事例があるようです。これは、受信側のメールクライアントソフトに問題があることも多いのですが、インターネットにおける国際標準「RFC(Request for Comments)」の日本における実装のデファクトスタンダードに、System.Net.Mailが対応しきれていないのが原因です。
RFCに準拠していないからと片付けてしまうのは簡単ですが、多くのメールクライアントソフトでは、RFCに準拠していないメールでも拒否せずに処理を行います。この点を考えると、納品先のお客様が本当の意味で納得するに至らないケースもあるでしょう。
先ほど、「クレームが納品先から入る事例があるようです」と実体験ではないような書き方をしましたが、私はメール関連のアプリケーションを開発する場合、.NET Frameworkの標準機能ではなく、グレープシティなど、必ず日本のベンダーから発売されている市販のコンポーネントを使っています。そのおかげか、クレームになるようなメール関連のトラブルを体験したことがないのです。
そこで今回は、意図的にトラブルが発生するようなデータを使って、System.Net.Mailとグレープシティのメール送受信コンポーネント「Secure Mail 2.0J」を比較してみたいと思います。
Secure Mail 2.0Jを使う前準備
Visual StudioのプロジェクトでSecure Mailを使うには、インストール後、Secure Mailのコンポーネントの参照設定が必要です。参照設定を行うには、次の2つの方法があります。
- Dart.PowerTCP.SecureMailコントロールをツールボックスに追加(図1)して、Windowsフォームなどにドラッグ&ドロップする
- Dart.PowerTCP.SecureMail.dllを参照設定する

(2)の方法で参照設定を行った場合は、Visual Studioプロジェクトへのライセンスファイルの追加が自動的に行われません。リスト1の内容を記述した「licenses.licx」というファイルを作成し、[新しい項目の追加]から追加しましょう。
Dart.PowerTCP.SecureMail.Smtp, Dart.PowerTCP.SecureMail
この記事は参考になりましたか?
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(Secure Mail)連載記事一覧
-
- Windows Azure上で「Secure Mail 2.0J」を使ってみよう ~最新の...
- 日本語メールの送信で起こりうる予期せぬクレーム~.NET Framework標準機能と市販...
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
