2006年3月、「メール送受信」に関するモジュール等を修正しました。

Windowsの標準機能だけを使ったサンプルもあります。   サンプルの一覧.....
◆メールの送受信
  CDOで送信,Winsockで受信(コーディングでデコード)無謀な挑戦?
  Winsock,CDO,ADOの連携(CDOでデコード)シンプル&高完成度
◆ACCESSで作成した「情報管理ツール(メール機能付,POPFileに対応)」
  CDOで送信,Winsockで受信(コーディングでデコード)我が道を行け
  Winsock,CDO,ADOの連携(CDOでデコード)スマート
※ 上の4つは、2008年になって作りました。
  下記(XMail,James)の問題は起こりません
  BASP21の利用にこだわらない方には、CDOでデコードがお勧めです。

●修正に至った経緯
 弊社(ynsk.co.jp)のメールサーバは、2006年2月までEMWACIMSを使っていました。
 このソフトには長らくお世話になり、愛着があります。
 しかし、最近では、「IMSは、いつまで使い続けられるのか?」不安になってきました。
 ホームページで調べてみると、XMailというフリーのサーバソフトがありました。
 もう1つ、ApacheJamesというソフトも見つけました。
 先ず、XMailでメールサーバを立ててテストしました。
 BSMTP.DLLを使ってテストすると、受信はできるのですが、送信できません。
 SMTPサーバから「501 SYNTAX ERROR.....」というリターンが返っていました。
 別のメールクライアント( Outlook Express )からは、正常に送信できます。
 取りあえずXMailはあきらめて、Jamesを試してみました。
 ところが、Jamesからも「SYNTAX ERROR」が返ります。
 しばらく途方に暮れました。
 そんなとき、ベクターでフリーの「パケットモニタ(Windows版)」を見つけました。
 この「パケットモニタ」を使って、クライアント⇔サーバ間の通信を比較して調べました。
 解かったのは、BSMTP.DLLが「HELO」の通信を発行していないことです。
 またまた、途方に暮れながら、ホームページで調べていると、
 SMTPサーバ(引数)の先頭に「/(スラッシュ)」を設定してBSMTP.DLLをCallすると、
 「HELO」の通信を発行してくれることが判り、発行するようモジュールを修正しました。
 これが、大きな変更点@です。
 「sendmail2000.mdb」の変更点は、以上です。
 ※ここからは、「nskdcm2000.mdb」だけに関連する内容です。
 もう1つの大きな変更点Aは、「迷惑メール対策」に関連します。
 XMail,James共に、スパムの踏み台にされない対策は、内蔵しているようです。
 しかし、自分宛に届く迷惑メールには、別の対策が必要だと思います。
 ApacheSPAMASSASSINというソフトがあることを知りました。
 その前に、POPFileというソフトも見つけていたのですが.....
 両者には、SPAMASSASSINはサーバ側、POPFileはクライアント側で、
 迷惑メールをフィルタリングするという大きな違いがあります。
 SPAMASSASSINのほうが、管理が一元化できる魅力があります。
 しかし、SPAMASSASSINにはホームページに日本語の説明が少なく、
 インストールも複雑そうだったので、テストすることすらできませんでした。
 あっさり、POPFileを採用、ということにしました。
 POPFileは、インストール、運用共に易しいものでした。
 POPFile側の設定によって、
 迷惑メールには「件名(Subject)」に「bad」という文字が設定されるようにしました。
 「nskdcm2000.mdb」で、[受信]をクリックしたときの確認画面に
 「POPFile」というチェックボックスを付けました。
 オンにすると「POPFile」経由でメールを受信し、オフなら直接受信します。
 「nskdcm2000.mdb」で、一覧の画面に「bad」というチェックボックスを付けました。
 オフでは「件名(Subject)」に「bad」という文字がないメールが表示され、
 オンにすると「bad」が付いたメール
  (POPFileによって迷惑メールと判定されたメール)が表示されます。

●変更箇所
 ・ 「メールユーザー」テーブルの名前を「メールユーザ」に変えました。
 ・ 同テーブルのフィールドを変更しました。
      「メールアドレス」フィールドを追加
      「サーバー」フィールドを中止
      代わりに「POP3サーバ」,「SMTPサーバ」フィールドを追加
      「ユーザー」フィールドの名前を「ユーザ」に変更
 ・ 「ドキュメント」テーブルのフィールドを変更しました。
      「サーバー」フィールドの名前を「POP3サーバ」に変更
      「ユーザー」フィールドの名前を「ユーザ」に変更
 ※ これらは、「POP3サーバ」と「SMTPサーバ」が違うケースに対応するための修正です。
 ・ メールの送信,受信に関連するモジュールを変更しました。

ダウンロード(sendmail2000.mdb,2006年3月修正版)
ダウンロード(nskdcm2000.mdb,2006年3月修正版)

ご意見、お問い合わせは → 

ACCESSの使い方トップページ
JAMESについてのメモ



〒745-0801 山口県周南市大字久米327-145
中川システム開発 ホームページ
Tel(0834)28-0205 Fax(0834)28-1272