ACCESSからBASP21を利用してメール送受信(送信,受信)するサンプルを紹介します。
    Windows2000以降なら、OSの機能だけでできる? Winsock,CDO,ADOの連携(CDOデコード)

BSMTP(BASP21)というDLLを利用してメールを送受信するサンプルです。
BASP21はWindows98の当時からフリーで公開されている老舗のコンポーネントです。
Accessでeメールを送受信する際も利用できます。
詳細は、http://www.hi-ho.ne.jp/~babaq/bsmtp.htmlをご覧下さい。

メールの送受信の仕方を理解して頂く目的でフリーサンプルを掲載しています。
内容は、以下の動作のみに絞って、できるだけシンプルにしてあります。
 @ AccessからJPEGなどの添付ファイル付きEメールを送信する。
 A Accessで添付ファイル付きEメールを受信し、内容をテーブルに保存する。
ご希望なら、ダウンロードしてご覧下さい。
ダウンロード(Access97版,DAO使用)
ダウンロード(Access2000版,ADO使用)
2006年3月、上記サンプルでは、ApacheのJames,XMailなど
一部のメールサーバで問題が起こることが判りました。
ApacheのJamesXMailに対応するよう、サンプルの一部を修正しました。
詳細は、2006年3月の修正版(Access2000版,ADO使用)をご覧下さい。

Windowsの標準機能だけを使って送受信する方法もあります。   サンプルの一覧.....
CDOで送信,Winsockで受信(コーディングでデコード)無謀な挑戦?
Winsock,CDO,ADOの連携(CDOでデコード)シンプル&高完成度お勧め!

BSMTP(BASP21)http://www.hi-ho.ne.jp/~babaq/basp21.html からダウンロードして下さい。

●操作方法
 ・ ファイルはLZH形式で圧縮されています。
 ・ 解凍後にMDBファイルが1つ作成されます。
 ・ このファイルをダブルクリックして起動して下さい。(単独で動作します)
●MDBファイルの内容
 ・ メールサーバー(テーブル)……コマンドを送信するメールサーバーの名前を保存します。
 ※ サーバー(フィールド)に設定された「aaaaaa.bbbbbb.co.jp」を
     お使いの環境に合わせて修正して下さい。
 ・ メールユーザー(テーブル)……利用するメールアカウントの情報を保存します。
 ※ メールを受信する際に使います。
 ※ 以下のように設定して下さい。
     サーバー ← メールアカウントのメールサーバー名
     ユーザー ← メールアカウントのユーザー名
     パスワード ← メールアカウントのメールサーバー用パスワード
     リターン ← メール受信時にメールサーバーからの通知されるメッセージが設定されます。
     受信要求 ← -1を設定して下さい。
 ※ 複数レコードを格納できます。
     複数レコードを格納すると複数ユーザーのメールを受信できます。
 ・ 受信メール(テーブル)……受信したメールの情報はこのテーブルに保存されます。
 ・ 受信メール添付(テーブル)……受信したメールに添付ファイルがあった場合、
     このテーブルに保存されます。
 ・ 送信メールW(テーブル)……送信するメールの内容をこのテーブルに設定します。
 ※ 以下のように設定して下さい。
     メール番号 ← 送信するメールに任意の番号を指定して下さい。
     宛先アドレス ← 宛先のメールアドレス
     CCアドレス ← CCのメールアドレス
     BCCアドレス ← BCCのメールアドレス
     差出人アドレス ← 差出人のメールアドレス
     件名 ← メールの件名
     宛先名 ← メールの宛先名(本文の先頭の位置に表示されます。)
     本文 ← メールの本文
     署名 ← メールの署名(本文の末尾の位置に表示されます。)
     リターン ← メール送信時にメールサーバーからの通知されるメッセージが設定されます。
 ※ 複数レコードを格納できます。
     複数レコードを格納すると複数件のメールを一度に送信できます。
 ・ 送信メール添付W(テーブル)……送信するメールに添付ファイルがある場合、
     このテーブルに保存して下さい。
 ※ 以下のように設定して下さい。
     メール番号 ← 送信メールW(テーブル)のメール番号と同じ値を指定して下さい。
     添付ファイル番号 ← 添付ファイルの連番
     添付ファイル名 ← 添付ファイルの名前(例:XXXX.JPG)
     添付ファイル ← 添付ファイルをロングバイナリーデータの形式で保存して下さい。
     添付ファイル長さ ← 添付ファイルの長さをバイト単位で設定して下さい。
 ※ 添付ファイルの保存方法は、 http://www.ynsk.co.jp/nsk/knowhow/binfld/binfld.htm
     の説明と同様にして下さい。
 ※ 添付ファイルを送信する場合のみ、送信メール添付W(テーブル)にレコードを作成して下さい。
 ・ Q_メール受信(更新クエリー)……このクエリーを実行するとメールが受信されます。
 ※ メールユーザー(テーブル)の受信要求(フィールド)に
     -1を設定したメールユーザーが対象となります。
 ※ メールは、受信メール(テーブル)に保存されます。
     添付ファイルがあった場合、受信メール添付(テーブル)に保存されます。
 ・ Q_メール送信(更新クエリー)……このクエリーを実行するとメールが送信されます。
 ※ Autoexecなどは作っていません。
    各テーブルとモジュールの内容を設定して、直接クエリーを実行して下さい。
 ・ B_BSMTP(モジュール)……メールの送受信を行います。
 ※ このモジュールを実行するためには、作業用のフォルダが必要です。
    B_BSMTP(モジュール)の中のコーディング
    「Private Const BWorkDir As String = "c:\maildata"←(1)」と
    「Private Const BWorkTempDir As String = "c:\maildata\temp"←(2)」で
    作業用のフォルダを指定しています。
    ダウンロードしたままの設定で操作する場合、
    Cドライブ直下にmaildataというフォルダとmaildataフォルダのなかに
    tempというフォルダを作成して下さい。
    別のフォルダを利用する場合、フォルダの指定を変更して下さい。

モジュールの構造をご理解頂くために、
  できるだけ、シンプルな構成にしています。
  参考にして頂ければ幸いです。

VBやAccessを使った、オリジナルのメーラーや
  メールからの注文受付などの業務アプリケーションの開発に役立つのでは、
            ...と思っています。

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

ACCESSの使い方トップページ



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