|
||
株式会社ウィル | ||
|
HOME | 新着情報 | 製品一覧 | 受託開発 | Download | 購入方法 | トライアル | サポート | 会社案内 |
|
メールチェックサンプル MAILCHK Ver1.1 | ||||
|
||||
|
MAILCHKはPOPプロトコルを利用して、メールが到着しているかどうかを調べるプログラムです。
このプログラムを応用すると、独自のメールプログラムを作成することができるようになります(なるかもしれません)。
▲TOPへ |
変数Actionに何をしているのかを記憶しておく。
- "INIT" これからConnectメソッドを発行した。
- "USER" Sendメソッドを用いてUSERコマンドを発行した。
- "PASS" Sendメソッドを用いてPASSコマンドを発行した。
- "QUIT" Sendメソッドを用いてQUITコマンドを発行した。
- "CLOSE" Closeメソッドを発行した。
発行したメソッド・コマンドと、それに対するサーバーからのメッセージ(Reply)に応じて処理を切り替える。
▲TOPへ |
'(C)COPYRIGHT 1997 WILL Option Explicit Dim Action$ Dim Reply$ '記録を残す Sub log(state$) List1.AddItem Action & ":" & state List1.ListIndex = List1.NewIndex '最後に追加した行を選択 End Sub 'チェック開始ボタン Private Sub Command1_Click() '2度押しされないようにする Command1.Enabled = False Command2.Enabled = True 'ログをクリア List1.Clear Action = "INIT" Call log("CONNECT") Reply = "" Label1 = "チェック中" 'POPサーバーはポート110
Tcpip1.Connect Text1(0), "110", "0" End Sub '中断ボタン Private Sub Command2_Click() Label1 = "中断しました" Tcpip1.Close End Sub 'フォームロード Private Sub Form_Load() Label5 = Tcpip1.copyright End Sub '通信が切断された。ここに終了処理をまとめておく Private Sub Tcpip1_Closed() Call log("CLOSED") Command1.Enabled = True Command2.Enabled = False End Sub Private Sub Tcpip1_Connected() Call log("CONNECTED") End Sub 'データを受信した Private Sub Tcpip1_Received(data As String) Dim d$ 'ANSI/DBCSコードからUnicode変換する Reply = Reply & StrConv(data, vbUnicode) '改行が来るまで待つ If (Right$(Reply, 2) <> vbCrLf) Then Exit Sub End If '行末の改行コードを取る Reply = Left$(Reply, Len(Reply) - 2) Call log("RECV:" & Reply) 'エラーならそれを表示して終わり If (Left$(Reply, 4) = "-ERR") Then Label1 = Mid(Reply, 6) Tcpip1.Close Exit Sub End If '何をしたかに応じて処理を変える Select Case Action Case "INIT" '接続した。ユーザー名を入れる Action = "USER" Reply = "" d = StrConv(Action & " " & Text1(1) & vbCrLf, 128) Tcpip1.Send d Case "USER" 'パスワードを入れる Action = "PASS" Reply = "" d = StrConv(Action & " " & Text1(2) & vbCrLf, 128) Tcpip1.Send d Case "PASS" '目的は果たしたのでQUITを送信して終了をする Label1 = Mid$(Reply, 4) Action = "QUIT" Reply = "" d = StrConv(Action & vbCrLf, 128) Tcpip1.Send d Case "QUIT" '最終メッセージを受け取った Action = "CLOSE" Tcpip1.Close End Select End Sub Private Sub Text1_GotFocus(Index As Integer) Text1(Index).SelStart = 0 Text1(Index).SelLength = Len(Text1(Index)) End Sub
|
(C) Copyright 2003 WILL Corporation. All rights reserved. |