受信トレイの読み込み             <TOP>


受信トレイの情報を読み込みます。

メールに関するコマンド

MailFile関数

読み取り中のメールの添付ファイル名を返す

MailFileCount関数

読み取り中のメールの添付ファイル数を返す

MailFindNext関数

受信トレイ中に存在するメールのメールIDを取得する

MailItem関数

読み取り中のメール情報を返す

MailLogOff

メール機能からログオフする

MailLogOn

メール機能へログオンする

MailRead

受信トレイのメールを読み取る

MailRecip関数

読み取り中のメールの受信者情報を返す

MailRecipCount関数

読み取り中のメールの受信者数を返す

MailSend

メールを送信する

MailSender関数

読み取り中のメールの送信者情報を返す


'================================================================
'= 受信トレイ読取(F-BASIC Sample 改変)
'=    (ReadMail.bas)
'================================================================
#include "windows.bi"
#include "file.bi"
#include "internet.bi"

' 指定された文字列と一致するクラス名とウィンドウ名を持つトップレベルウィンドウ( 親を持たないウィンドウ)のハンドルを返す。この関数は、子ウィンドウは探さない。検索では、大文字小文字は区別されない
Declare Function Api_FindWindow& Lib "user32" Alias "FindWindowA" (ByVal lpClassName$, ByVal lpWinDowName$)

' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)

#define WM_CLOSE &H10                   'ウインドウ或いはアプリケーションをクローズされた

Var Shared Text(3) As Object
Var Shared Edit(4) As Object
Var Shared Button1 As Object

For i = 0 To 4
    If i < 4 Then
        Text(i).Attach GetDlgItem("Text" & Trim$(Str$(i + 1)))
        Text(i).SetFontSize 14
    End If
        Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1)))
        Edit(i).SetFontSize 14
Next i
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

Var Shared lpClassName$ As String
Var Shared lpCaption$ As String
Var Shared hWnd As Long

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Shell "Msimn.exe", , 2

    lpClassName$ = "Outlook Express Browser Class"
    lpCaption$ = "受信トレイ - Outlook Express"
    hWnd = Api_FindWindow(lpClassName$, lpCaption$)
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    'メール機能へログイン
    MailLogOn , , 0
    SeedID$ = ""

    Do
        '受信フォルダに存在するメールのIDを取得
        MailID$ = MailFindNext(SeedID$, 0)
        If MailID$ = "" Then Exit Do

        'メールの読取
        MailRead MailID$

        'MailItem(0):件名 / MailItem(1):メッセージ / MailItem(2):受信日
        Letter$ = JConv$(MailItem(1), 0, 2)

        'MailRecip(0):受信者アドレス / MailRecip(1):受信者名 / MailRecip(2):受信者クラス("TO","CC","BCC")
        Edit(0).SetWinDowText MailRecip(0)
        Edit(1).SetWinDowText MailSEnder(0) & "/" & MailSEnder(1)
        Edit(2).SetWinDowText MailItem(0)
        Edit(3).SetWinDowText Letter$

        'MailFileCount:添付ファイル数
        Edit(4).SetWinDowtext Format$(MailFileCount,"#####")
        SeedID$ = MailID$
    Loop

    MailLogOff
End Sub

'================================================================
'= 終了処理
'================================================================
Declare Sub MainForm_QueryClose edecl (Cancel%, ByVal Mode%)
Sub MainForm_QueryClose(Cancel%, ByVal Mode%)
    Var Ret As Long

    Cancel% = MessageBox(GetWinDowText, "終了しますか", 1, 1 )
    If Cancel% = 0 Then
        Ret = Api_SendMessage(hWnd, WM_CLOSE, 0, 0)
        End
    End If
End Sub


'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End