序文
コンピュータネットワークの発達により、人々の間で情報が伝達される時間は大幅に短縮されました。多くのファイルは電子メールの形式で送信されます。通常、コンピュータを使用したことのある人は多かれ少なかれ電子メールを使用して情報を送信します。この記事では、Microsoft MAPI (Messaging application PROgram Interface) を使用してメール プログラムを設計する方法を紹介します。まず、Visual Basic が提供する MAPIsessioncontrol および MAPIMessagecontrol を使用してメール送受信プログラムを設計し、次に Microsoft Internet Explorer 3.0 が提供する電子メール プログラムを使用してプログラム設計の正確さをテストします。
MAPI の概要
MAPI インターフェイスは、ユーザーがメール、スケジュール、掲示板、通信プログラムを開発するために Microsoft が提供する一連のプログラミング インターフェイスです。 MAPI を使用してプログラムを設計する場合は、まずプログラムと MAPI の間に 1 つまたは複数のセッションを確立する必要があります。セッションが確立されると、クライアント プログラムは MAPI が提供する機能を使用できるようになります。
MAPI の機能は主に、AddressBooks、Transport、MessageStore の 3 つの部分に分かれています。 AddressBooks は主に電子メール タイプやプロトコルなどのパラメータの設定を担当し、Transport はファイルの送受信などの機能を担当し、MessageStore は送受信などの情報の処理を担当します。
そうは言っても、MAPI インターフェイスは怖く思えます。しかし、それは問題ではありません。Visual Basic が提供する MAPISessioncontrol と MAPIMessagecontrol は、多くの複雑な部分を単純なプロパティと関数にパッケージ化しています。これらのプロパティと関数をいくつか簡単に設定するだけで、メールを送受信するためのプログラムを作成できます。
以下では、Visual Basic の MAPIcontrol を使用して、メール送受信のプログラムを設計していきます。
メール送信部分
ステップ 1: Exchange パラメータを設定する
Exchange システムに入り、[新しい設定ファイル] を選択すると、必要な情報サービスが画面に表示され、[InternetMail] を選択します。テストする設定ファイルの名前を設定します。画面には 2 つのオプションが表示され、モデム経由で接続するかネットワーク経由で接続するかを選択できます。筆者はインターネット専用回線を使用しているため、ネットワークを選択します。PPP ダイヤルアップを使用してインターネットに接続している場合は、モデムを選択する必要があります。ネットワークを選択すると、Exchange はメールサーバーの IP アドレスを入力するように求めます。現在使用しているメールサーバーのアドレスは 202.96.128.111 で、このプログラムではこのアドレスに設定されています。次に、Transformmessage のモードを自動に設定します。これにより、メールサーバーに接続すると、新しい情報が自動的にローカルにダウンロードされます。
終わり。
次に、使用する電子メールアドレス、フルネーム、パスワード、ダウンロードパスを段階的に設定します。これで Exchange は完了です。
パラメータ設定。
ステップ2: プログラミング
新しいプロジェクトを作成するには、[ファイル] オプションで [NewProject] を選択します。この時点で、ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl などの多くのオプションが画面に表示されます。 Standard.EXE を選択する必要があります。
「プロジェクト」で、「一般」オプションの下の「プロパティ属性」オプションを選択し、「ProjectName」を「電子メール送信」に変更し、「フォーム名」と「キャプション」を「電子メール送信」に変更します。
MAPImessagecontrol を画面上のフォームに追加し、MAPIm1 という名前を付けます。MAPIsessioncontrol を追加して MAPIs1 という名前を付けます。3 つのテキストボックス コントロールを追加して、subject、content、および addr という名前を付けます。そして、3 つの各テキストボックスの前にラベルを追加し、キャプションをそれぞれ件名、内容、アドレスに変更します。
読者が互いの関係を理解しやすいように、次の表で説明します。
(テキストボックス)名前
件名(手紙のタイトルを入力します)
内容(手紙の内容を入力します)
addr (手紙の送信先アドレスを入力してください)
-------------------------------------------------- ----------------------------------
(レーベル)キャプション
件名(文字のタイトルを入力してください)
content (レターの内容を入力するプロンプト)
addr (送信する手紙のアドレスを入力してください)
MAPIm1 のさまざまなプロパティを次のように設定します。
ダウンロードメール=TRUE
logoUI=TRUE
ニュースセッション=FALSE
ユーザー名 = "テスト"
ここでは、downloadmail が TRUE に設定されており、プログラムとメールサーバーが初めて接続すると、新しいメールがローカル側にダウンロードされます。 logoUI を TRUE に設定すると、プログラムに間違ったロゴ名を入力すると、システムは正しい名前を入力するためのメッセージ ボックスを表示します。このプログラムは 1 つのセッションのみを使用するため、その値を FALSE に設定します。もちろん!確立するセッションが多数ある場合は、これを TRUE に設定することもできます。ユーザー名に入力されるのは、Exchange に追加した設定ファイルの名前です。内容がない場合は、ファイルの入力を求めるメッセージ ボックスが表示されます。画面上のフォームに 3 つの Button コントロール、logon、logoff、send を追加し、キャプションをそれぞれ logon、logoff、send に変更します。
(ボタン)
名前のキャプション
ログオン(ログインコマンドの実行)ログオン
logoff (ログアウトコマンド実行) logoff
send (送信メールコマンドの実行) send
次のプログラム コードを logon_Click() に追加すると、メールサーバーにログインできるようになります。
MAPIS1.サインオン
MAPIM1.セッションID=MS1.セッションID
MsgBox"youridis" Str(MS1.SessionID)
MS1.SignOn はログイン アクションです。ログインすると、MAPIm1control の downloadmail 属性が TRUE に設定されているため、システムがメールをダウンロードしていることを示すメッセージボックスが画面に表示されます。ログインに成功すると、システムはセッション ID を返し、その ID を MAPIM1 のセッション ID に入力して、このセッションを電子メールの送信に使用できるようにします。
次のプログラム コードを logoff_Click() に追加すると、メールサーバーから離脱します。
MAPIS1.サインオフ
次のプログラム コードを send_Click() に追加すると、電子メールを送信できるようになります。
MAPIM1.作成
MAPIM1.RecipDisplayName=addr.text
MAPIM1.AddressResolveUI=True
MAPIM1.MsgSubject=件名.テキスト
MAPIM1.MsgNoteText=コンテンツ.テキスト
MAPIM1.送信
MsgBox "you success" Compose コマンドの主な目的は、RecipDisplayName の内容を変更し、送信する電子メール アドレス、件名、および記事の内容をそれぞれ RecipDisplayName、MsgSubject、および MsgNoteText に入力して、 send コマンドを使用して送信します。
ステップ 3: IE3.0Mail プログラムでプログラムをテストする
上記で設計したメール送信プログラムを実行します。件名テキスト ボックスに「送信テスト」と入力し、アドレス テキスト ボックスに [email protected] と入力し、内容テキスト ボックスに送信するコンテンツを入力します:「皆さん、こんにちは。これは送信テストです」。送信を押します。 。手紙が送られてきました!
IE3.0を実行してメールの受信を選択し、メールオプションでreadmailを選択します。受信箱に「テストの送信」というタイトルの手紙が表示され、その内容を見てみましょう。それが私たちがたった今送ったテストレターです。
メール受信部分
Step1: プログラミング
新しいプロジェクトを作成するには、[ファイル] オプションで [NewProject] を選択します。画面には、ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl などの多くのオプションが表示されます。この時点では、Standard.EXE を選択する必要があります。
次に、「プロジェクト」で、「一般」オプションの下の「プロパティ属性」オプションを選択し、「ProjectName」を「email-get」に変更し、「FORM 名」と「Caption」を「email-get」に変更します。
MAPI メッセージ コントロールを画面上のフォームに追加し、MAPIm という名前を付けます。
1; MAPIs1 という名前の MAPIsessioncontrol を追加し、それぞれ subject、content、indexno という名前の 3 つの Textboxcontrol を追加し、その Caption を mail-subject、mail-content、indexno に変更し、TextBox の前に Labelcontrol を追加します。 、コンテンツ、インデックス番号をそれぞれ指定します。
MAPIm1 のさまざまなプロパティを次のように設定します。
ダウンロードメール=TRUE
logoUI=TRUE
ニュースセッション=FALSE
ユーザー名 = "テスト"
これらの設定の原理は、メール送信プログラム部分の設計と同じです。次に、画面上のフォームに Buttoncontrolget-mail を追加し、キャプションを getmail に変更します。メール送信プログラム部分と同様に、メールサーバーとのセッションが確立されます。
get-mail_Click() に以下のプログラムコードを追加します。
メールを受信しております。
MAPIM1.フェッチ
Form1.Caption=MAPIM1.MsgCount
MAPIM1.MsgIndex=CINT(インデックス番号.テキスト)
subjec.Text=MM1.MsgNoteText
content.Text=MAPI1.MsgSubject
Fetch コマンドは文字をシステム メモリのインバッファにキャプチャします。文字をキャプチャした後、MsgCountproperty を通じて文字の数を知ることができます。次に、MsgIndex を使用して、表示したい文字の内容とタイトルを設定できます。
Stept2: メール受信プログラムをテストする
まず、任意のメール プログラムを使用して、メールサーバーに任意の数の文字を書き込みます。 Form1 のキャプションに、受信した手紙の数が表示されます。上記で設計したメール取得プログラムを実行し、indexnoテキストボックスに1を入力します。次に getmailButton を押すと、レターの内容とタイトルが内容と件名の 2 つのテキストボックスに表示されます。成功おめでとうございます! ->