最終更新日:2002/03/26

電子メールについて

MS-Windowsを中心に電子メールについてのメモを作成しました。

姉妹コーナー
電子メールを使ったサービス」,
Windows対応のメールサーバ」,
電子メールソフトレビュー
もよろしく!

BASE64のサンプルをActiveX DLLで書き直してみました。こちらもよろしく。

メモの代わりに自分宛のメールを簡単に送っちゃえ。
いちいちメールソフトを操作するのが面倒なものぐさクン向け
簡易メールソフト(DataMail for BASP21)ただ今公開中!

こんなところまで迷い込んできたあなた!

実は、ここ数年、残念ながらほとんど更新できていません。m(_._)m
お詫びと言っちゃなんですが、ここより遥かにまともな《 Taki Internet Mail Private Lab.》 をご紹介させていただきます。
特に「MUAs for Windows - Windows のメイラーの評価 -」でのまとめ方は見習わなければ。

それにしても、ここの、このまとまりの無さ。
思いつくままに作業をして、気ままに拡張させたのが敗因か。
まとめると、きっと半分くらいコンパクトになって、可読性が上がるに違いない。
この範囲だけでも再構築しようかなぁ/できるかなぁ/時間あるかなぁ。

INDEX

電子メールソフトの使用記(独立しました!)

電子メール開発ツール
|Microsoft Internet Control Pack |NetMan Mail/OCX32 |BASP21|
|MAILOCX |VB-Web |InternetPost for Active Platform |コマンドメーラー|
|その他のツール(海外)|

メールソフトのシェアは?(独立しました!)
電子メールの互換性について
メールのゲートウェイ機能
電子署名および暗号化メールについて
電子メールを使ったサービス(独立しました!)
VB4によるBASE64サンプルコード
Windows対応のメールサーバ(独立しました!)
電子メールに関するリンク

電子メールソフトの使用記

独立させました。こちらをご覧下さい。m(_ _)m

電子メール開発ツール

使ってみたもの,調べたもの,イロイロです。

Internet Control Pack(Microsoft:既にサポートは終了しています[1998/08/05])

日本語版のβ2でPOP3とSMTPのコントロールを使ってVB4でプログラムを作ってみました。
サンプルで付いてくる(落とせる)コードは,それなりに使えました。
ただ,会社のメールサーバだと接続に問題が起きました(この問題は,メールサーバのせいという可能性もあります)。
バグも結構潜んでいる(何回かマイクロソフトにバグリポートしました)し,各種の日本語コードの間の変換も行ってくれないので,使いにくかったですねぇ。
特にPOPコントロールは,20〜30回程度サーバーに接続すると確実にプログラムが死にます。
それと,生のロジックがPOPコントロールとSMTPコントロールとして実装されているので,プロトコルの勉強にはなりましたが「そのままやんけ!」の世界です。
これで書かれたVBのアプリ(HTMLコントロールを使ったモノ)も出回っているようですが,一応β2の使用期限は1997/03となっています。
VB5の頃には,標準的なActiveXコントロールとして改良されていることを期待しています。

追記:

Internet Control Packは,NEWT-SDKという製品名でNetManageから英語版が販売されることになったようです。
やはり市場規模が小さいと見た&不評だったのでしょうか。
ただICPのうち,TCP/UDP/HTTP/FTP/HTMLの各コントロールはVB5のコントロールとして形を変えて提供されるようです。
この件についての詳細は,マイクロソフトのICPのページをご覧下さい。
[追記:1997/01/10]

さてこのICP,困ったことに最近よく雑誌のサンプルとして取り上げられます。
原稿を書いた人たちは,これを使うと難しそうな「こんなこと」が簡単に出来ますよ!ということを書きたい(私も使ってそう思った)のでしょうし,書いた時点では実際にそうだったのです。
でも,残念ながら発行された時点で既にICPはマイクロソフトのサイトから消えているという,最近の雑誌の弱さを見せてくれています。
β版の商品だからと言われればそれまでなんですがねぇ...
[追記:1997/02/08]

MS公認のVBユーザーズグループのint21に,これに関連する記事(「Internet対応ActiveXコントロールの使い方(TCP/IP系)」(富士通SSL 福岡寿和氏)が載っていました。
[追記:1998/04/05]

NetMan Mail/OCX32(システムラボ/テクナレッジ

POP3/SMTPのコントロールです。
まだ使ったことはないのですが,コントロールのプロパティ一覧がWeb上にあります。 それを見た感じではICPと異なりユーザ側にあまりコードが必要ではないようです。
ありがたいことに,漢字コードの変換機能もあるようです。
開発ライセンスなので,このコントロールを使ったプログラムは自由に配布できるようです(ただしフリーソフト/シェアウェアには制限があります)。

BASP21(Baba Centerfolds[1998/02/28]
Babaqさんの作られたフリーソフトです。
いくつかのモジュール(DLL)の中の1つに,BSMTP.DLLというSMTPのコントロールがあります。
これが,なかなか必要な機能がシンプルにまとまっていて,使いやすいです。
インストールから以下のようなコードを書いてテストするのに20分もかかりませんでした。
欲をいえば,ポートが固定されているので指定ができるようにして欲しいのと,ヘッダに自由に追加ができたらいいなっ, というところでしょうか(あっできればPOPも欲しい...(^-^ゞ )。
------ここからコード-----
Option Explicit

Public Const hdrSMTP = "255.255.255.0"             'IP Address or Host Name
Public Const hdrTo = "hoge@hoge.or.jp"             'To:
Public Const hdrFrom = "mizo@hoge.or.jp"           'From:
Public Const hdrSubject = "TEST BASP"              'Subject:

Public mBODY As String                             'Mail Body
Public mFile As String                             'Multi Part


Sub main()
Dim bobj As Object
Dim msg As String

    mBODY = "TEST Main." & vbCrLf
    mFile = ""
    
    Set bobj = CreateObject("basp21")
    msg = bobj.SendMail(hdrSMTP, hdrTo, hdrFrom, hdrSubject, mBODY, mFile)

    Debug.Print msg
       
End Sub
------ここまでコード-----

追記:

ってなことを書いて,しばらくぶりに見に行ったところ,ちゃんとPOP3も サポートされていました。すばらしぃ
あんまり感動したので,ニッチなソフトを1本作成しました。
出先のメモ代わりにメールを使う人のために「DataMail for BASP21」。ほとんど10円メールのノリです。
[追記:1999/08/30]

MAILOCX(株式会社ウィル[1998/07/16]
MAILOCXは,同じウィルのMIMEOCX,KANJIOCXと組み合わせて利用するシェアウェアです。
MAILOCXは,どちらかというとInternet Control Packに近いようで,ホントにメールサーバとの通信部分の機能に限定され(それに,これはVBで作られたコントロールのようです),MIMEOCXでBASE64(こちらは,さすがにVC。VBで作るとこうなります),KANJIOCXでJIS/SJISの変換というシンプルな構成のようです。
他にも,TCP/IPやFTP,UDP等のコントロールもあり,今後の品揃えが楽しみです。
[更新:2002/03/15]

VB-Web(アドバンス技研株式会社[1998/07/18]
VB-Webは,VBによりIISの機能拡張ができるというのがウリのツールですが,その中でメールの送受信機能をVBに付けることができるようです。
漢字変換やBASE64対応等,基本的な機能は問題ないようです。
でもメール部分のみを単体で使いたい人には,向かないでしょう(単品売りはなさそうです)。

InternetPost for Active Platform(日立東北ソフトウェア株式会社[1998/11/20]
InternetPost for Active Platformは,SMTPとPOP3から構成させるActiveXコンポーネントです。サポートされる言語の多さがウリと言えるかもしれません。
文字コードの変換等,かなりの機能があるようです。添付ファイル等の詳細は分かりませんが,試用版をダウンロードすることができます(でも,\45,000は高いかも...)。

開発の方から「高機能の割には安いんですよ」と教えていただきました。
確かに機能的には良くまとまっていて,テンプレート機能や添付ファイルを 圧縮(GZIP形式)してから添付する等,「痒いところに...」なソフトです。
値段(開発ライセンス)だけを比べても,決して高いわけではないんです。
ただライセンス形態が,開発ライセンスがあるLAN内だけ配布可能という ちょっと変わったライセンスなので,例えば独自なメールソフトを作って 配布するといったことができないため,用途によっては高くつく(というか, 実質的に使えない)ことがある,ということです(この点は,何とか改善をして欲しいです)。
[追記:1999/03/03]

上記の方から,またメールを頂きました。ライセンスが改訂されたということで,今後は\45,000+\20,000=\65,000で自由に配布できるそうです。
このページのコメントも多少なりとも今回の改訂の役に立って,更に売り上げも順調ということで,お互いにメデタシメデタシなメールでした。
[追記:1999/09/12]

コマンドメーラー SOGA-Telecom[2002/03/15]
Windowsのcgiなどで手軽に使えるコマンド操作のフリーなSMTPメーラーです。 作者の方々は、日頃はPostgreSQLのWindows版を作られている方々です。

その他の開発ツール(海外)

NextCom/Distinct Visual Internet Toolkit
詳細は不明ですが,NextComが国内代理店となるPOP3/SMTP等に対応するコントロールです。
ダイアルUP(PPP/SLIP)関係を独自のランタイムスタックでサポートしているようです。
海外ものということで,漢字コードの問題は自分で解決するしかないでしょう。
配布にはランタイムライセンスが必要なようです。
製品パッケージ製品評価(英語)Distinctのホームページ
Crescent Internet ToolPak 3.0
詳細は不明ですが,POP3/SMTPを含んだインターネットのプロトコル全般のActiveXコントロール群です。
PPP/SLIP等のコントロールも含まれます。
今のところ,国内の代理店は無いようです。
3.0にバージョンが上がったようです。
[更新:1997/03/23]
Mail eXtension
Terckland SoftwareのMail eXtensionは,POP/SMTP以外にMAPI, VIMに対応しているのが売りのようです。
ただ,やはり日本語の問題は避けて通れないでしょう。
[更新:1997/03/23]

メールソフトのシェアは?

独立させました。こちらをご覧下さい。m(_ _)m

電子メールの互換性について

本来あって欲しくないことなんですが,電子メールソフト間での互換性という問題が雑誌の記事になるくらい話題になっています。
電子メール自体には規約があるのですが,その規約を狭義に解釈するか広義に解釈するかによって,プログラムの実装が変わってきます。
これは,どっちのソフトが悪いという問題ではない(明らかにバグやら不具合と思えるモノもあるますが)だけに,厳密な規約に改訂されるまでは使う方が気をつけなければいけないのでしょう。
一般的に電子メールの互換性として気をつけなければならないものとして,次のようなことがあります。
これらについて,各メーラーがどのように対応しているかについては,東大の白橋さんの作成されたFAQ(pc-tcpip-faq-j)を参照して下さい。
添付ファイルの送受信については,異種メール間での添付ファイル送付結果を参照して下さい。

メールのゲートウェイ機能

会社では,最近Notesが蔓延するようになってしまいました。
もちろん,会社のシステム部門のご推奨です。
それは,まぁ許しても(3〜4年前に課の設備として申請した時には,許可されなかったのに!),これに関しては,どこも頭の痛い内容を抱えているようですね。
会社の中は,これまで技術部門のインターネットメール(SMTP/POP)と営業部門のNifty-CUGという形態だったけど,Nifty-CUGをNotesに移行させて,それを全社に展開しようというシステム部門の思惑な訳です。

それはともかくとして,これらの(SMTP/POP以外の)メールシステムは,当然の事ながらSMTPに対するゲートウェイ機能をオプション!として保有しています。
このゲートウェイで,最近はまった例を紹介します。

社外のお客様のAさんとこは,cc:Mailが導入されていますが,このゲートウェイ(cc:Mail Link to SMTP)は,uuencodeのみをサポートしています。
ということで,添付ファイルの形式がuuencodeで来ます。
ところが,私の使っている電信8号は,標準ではuuencodeに対応していません。
しょうがないので,滅多に使わないNotesから添付してメールを送ると,同じuuencodeでも,cc:Mailでは受け取れないようなのです(NotesGWは,Content-Transfer-Encoding:UUencodeのMIME形式メールしか扱えないようです)。

結局のところ,私とそのお客様とのメールのやり取りは,添付ファイルが必要な場合には,こんな方法でメールをやり取りする必要が出てきます。
...あぁ〜あ,なんてこったい。
[作成:1997/04/14]

VB4によるBASE64サンプルコード

電子メールのエンコード方法として一般的なBase64を,ちょっとした実験を行うためにVB4で実装してみました(あまり実用にはなりません)。
RFC1521のような英文は苦手だけど,VBのコードなら他人が書いたモノでもOK!という方には,アルゴリズムをチェックする足しになるかもしれません。
電信8号とWinBiffとで試したところでは,Encode/Decodeは一応問題なく出来ているようです。
ただデバッグを十分に行ってるとは言い難いのと,なにせプログラムを生業としてる訳ではないので,何が起こっても責任は持てません。

サンプルコード

電子署名および暗号化メールについて

公開鍵による電子メールの暗号化,電子署名は,企業ユーザの増加により徐々に広がってきているようです。
本人確認のための電子署名と暗号化メールについては,インターネットに接続された企業ユーザが増加するに連れて,加速度的に需要が増えると思われます。
しかし,これまでのところ米国の対応に振り回されていて,電子マネーの実現が目の前に迫っているのに標準化への道のりはまだ遠そうです。
有力視されている方式としては,以下のようなものがあります。

PEM: |RFC1421 |RFC1422 |RFC1423 |RFC1424|
MOSS: |RFC1847 |RFC1848|
PGP: |RFC2015|
S/MIME: |S/MIME(RSA) |RFC2311 |RFC2312|

PEMは国内でも実験が行われましたが,仕様的にはMIME拡張されたMOSSに引き継がれたようです。
現在のところ,個人が使用する場合にはPGPが有力のようですがなんとも言い難いです。
というのは,特許がらみで米国版と国際版が存在しているのと,PGPを使ったメールが米国内を通過すること自体に対して問題があるとする動きがあることです。
PGPのフロントエンドソフトは,オレンジソフトなどから入手することができます。
PGP国際版のホームページ(日本語版)はこちらです。
S/MIMEは,米国RSA社が提唱していますが,松下がインターネットFAX用に採用を検討しているなど,今後の動きが気になるところです。

その他の動向として,(株)国際情報科学研究所が独自の暗号化を組み込んだメーラー(Chaos-mail)を発売しています。
ここでは,解読者に賞金1000万というイベントが行われているようですから,お好きな方は挑戦してみて下さい。
[追記:1997/01/20]

アスキーサムシンググッドが発売したSecure Messengerは,通常のメーラにセキュリティ機能(S/MIME)を付加することができるアドオンのようなソフトです。
ああ,こういう実現の仕方もあるんだなぁ,と唸ってしまいました。
でも今使っている電信8号が使用可能リストに入ってないのが哀しい...
[追記:1997/11/11]

S/MIMEがドラフト段階を経てRFCになりました。
また,InternetFaxも同じようにドラフトを経てRFCになっています。
[追記:1998/06/21]

InternetWatch(「電子メールを自動で暗号化・復号化 BIGLOBEが法人向けに「セキュアメールサービス」」)によると,NECはBIGLOBEの法人向けサービスとして,S/MIMEによる暗号化と電子署名によりメール内容の漏洩や改ざんを防止するとともに,ウイルスやSPAMメールもチェックするサービスを開始したそうです。
[追記:1998/07/16]

電子メールに関するリンク集

RFC
RFC2045MIME1:Format of Internet Message Bodies
RFC2046MIME2:Media Types
RFC2047MIME3:Message Header Extensions for Non-ASCII Text
RFC2048MIME4:Registration Procedures
RFC2049MIME5:Conformance Criteria and Examples
MIMEについての新しい規約です。1996/11月に規定されました。
RFC822
電子メールの枠組みについての規約です。
RFC1939
POP3についての規約です。
RFC1521, RFC1522
MIMEについての規約です。RFC1522もセットです。RFC2045-2049によって置き換えられました。
InternetFax関連のRFC
RFC2301File Format for Internet Fax.
RFC2302Tag Image File Format (TIFF) - image/tiff MIME Sub-type Registration.
RFC2303Minimal PSTN address format in Internet Mail
RFC2304Minimal FAX address format in Internet Mail
RFC2305A Simple Mode of Facsimile Using Internet Mail
電子メールの利用方法
pc-tcpip-faq-jemail-faq
東大の白橋さんの作成されたFAQです。特にpc-tcpip-faq-jは,電子メールソフトのエンコード方式の一覧があるので,知らないメールソフトを使っている人に添付ファイルでメールするときにチェックしてみるとよいでしょう。
[インターネットメールの注意点] 文字化けメール根絶の野望 New URL
企業ユーザやパソコン通信ユーザの方がインターネットを経由する場合に陥りやすい問題を分かり易く解説してあります。
Tips for E-Mail
初心者の方でも分かりやすく,懇切丁寧にカユイところに手の届く解説が見事です。このメモも,こういう風に書けたらなぁと,心がけてはいるのですが...
電子メールに関したトピックス
電子メールの自動分類
電子メールエージェントによるメールの自動分類(日経産業新聞の抜粋)。 東京理科大学の溝口教授らが機能的な学習により電子メールを分類するエージェントを開発。
電子メールに関したレビュー

独立させました。こちらをご覧下さい。m(_ _)m

戻る

TOPへ


Copyright (c) 1996-1998 by mizo. All Rights Reserved.