天天看點

在Visual FoxPro中使用Lotus Notes發送郵件

最近想做一個通過Louts發送郵件的小東西,從網上找了半天,什麼微軟的OutLook Connector, IBM的Domino Access for Microsoft Outlook,都太煩瑣。今天發現一個VB的COM方法,改成VFP的。我的郵件資料庫是在遠端伺服器上,按照原文無法打開郵件資料庫,隻得改成bookmark.nsf,現在測試發送是成功。有需要的自行再測試吧。

*  函數功能:發送帶附件的郵件給recipient變量中指定的收件人

*  運作環境:安裝并配置好Notes用戶端,并且已經登入到Notes,已經測試Notes 5和Notes 7

*  SendMail(cSubject As String, cAttachment As String, cRecipient As String, cCopyToRec AS String, cBodyText)

* 執行成功傳回.T.,失敗傳回.F.

*  SendMail("我的測試郵件标題","d:/testfile.txt","zhj/sd/ccb","","我的測試郵件内容")  &&附件為d:/testfile.txt

PARAMETERS  cSubject As String, cAttachment As String, cRecipient As String, cCopyToRec AS String, cBodyText As String

*  設定對象屬性

LOCAL oMaildb As Object, oMailDoc As Object, oAttachME As Object, oSession As Object,oEmbedObj As Object, lIsRight As Logical

lIsRight = .T.

TRY

    oSession = CREATEOBJECT("Notes.NotesSession")  &&建立Notes會話

    oMaildb=oSession.GetDatabase("","bookmark.nsf")  &&打開一個資料庫

    IF oMaildb.ISOPEN = .F.  &&判斷已經打開

        oMaildb.OPENMAIL()

     ENDIF

   * 建立新郵件

     oMailDoc = oMaildb.CREATEDOCUMENT()

     oMailDoc.Form = "Memo"

     oMailDoc.sendto = cRecipient  &&收件人

     oMailDoc.copyto = cCopyToRec  &&抄送

     oMailDoc.Subject = cSubject   &&郵件标題

     oMailDoc.Body = cBodyText     &&郵件内容

     oMailDoc.PostedDate=DTOC(DATE()) &&發送日期

    * 添加附件

     IF NOT EMPTY(cAttachment)

          oAttachME = oMailDoc.CREATERICHTEXTITEM("cAttachment")

         oEmbedObj = oAttachME.EmbedObject(1454, "", cAttachment, "attachment")

     ENDIF

     * 發送文檔

     oMailDoc.SEND(0)

CATCH

      lIsRight = .F.

ENDTRY   

RELEASE oMaildb, oMailDoc, oAttachME, oSession, oEmbedObj

RETURN lIsRight