自動受信

常時接続時の環境ではメールを自動受信することができます。
AutoTimer を使うので多少マクロの知識が必要です。

  1. xqsmapi.dll をレジストリに登録します。
    コマンドラインから regsvr32 xqsmapi.dll を実行します。
    あるいは、ファイル名を指定して実行で、
    c:\windows\system32\regsvr32 c:\qx\xqsmail.dll
    とします。
  2. QXエディタのフォルダに xqsmail.vbs を作成します。
    set obj = createobject("Xqsmapi.XqsmapiCom")
    obj.POP_DELE = 1
    obj.POP_SILENT = 1
    rc = obj.Initialize("pop3name", "smtpname", "username", "password", "mailaddr", "fullname")
    rc = obj.RecvMailAll("d:\mailbox\mail.lst","d:\mailbox","d:\mailbox\mail.sun08.dup","d:\mailbox\mail.mbx")
    set obj = Nothing
    



  3. xqsmail.vbs をダブルクリックして正常に受信されることを確認します。
    (c:\temp\xqsmail.log にエラーがでていないか、QXメーラで受信箱が変更されることを確認してください)
  4. QXエディタの macro フォルダに qautomac.mac を開きます。
  5. qautomac.mac に
    proc AutoTimer
        dim s$, cnt
        if @@RegistryLoadNum = 11 then  'QXメーラのレジストリ番号
            s$ = @@Global$("xqsbiff") 
            if s$ = "" then s$ = "0"
            cnt = val(s$)
            cnt ++
            if cnt > 300 then           '300秒 = 5 分ごとにチェック
                xbiff
                cnt = 0
            end if
            @@Global$("xqsbiff") = ltrim$(str$(cnt))
        end if
    end proc
    proc xbiff
        call shell("wscript "+@@QxDirectory$+"\"+"xqsmail.vbs",6)
    end proc
    
    これは、レジストリ11番のQXエディタの場合、5分ごとにメールチェックをする例です。
  6. あとは、QXメーラを起動しておけば、5分後とにメールの自動チェックがされます。