Tiptop GP中利用SMTP服務器發送郵件

這個是GDC(Genero Desktop Client)所提供的功能,不羅嗦,直接上代碼:

MAIN
  DEFINE result,id INTEGER
  DEFINE str STRING
  
  #初始化模組
  CALL ui.interface.frontcall("WinMail","Init",[],[id])
  
  #設置郵件的內容
  CALL ui.interface.frontcall("WinMail","SetBody",[id,"This mail send by WinMail via Genero"],[result])
  

  #設置郵件主題
  CALL ui.interface.frontcall("WinMail","SetSubject",[id,"Subject:Hello World!"],[result])
  
  #設置郵件發件人
  CALL ui.interface.frontcall("WinMail","SetFrom",[id,"andy","[email protected]"],[result])
  
  #設置smtp服務器
  CALL ui.interface.frontcall("WinMail", "SetSmtp", [id, "smtp.mydomain.com"], [result])
  
  #設置收件者
  CALL ui.Interface.frontCall("WinMail", "AddTo", [id, "paul", "[email protected]"], [result])
  
  #設置抄送
  CALL ui.Interface.frontCall("WinMail", "AddBCC", [id, "nancy", "[email protected]"], [result])
   
  #添加附件
  CALL ui.Interface.frontCall("WinMail", "AddAttachment", [id, "c:\\temp\\test.xls"], [result])
   
  #透過smtp服務器發送
  CALL ui.Interface.frontCall("WinMail", "SendMailSMTP", [id], [result])
  IF result == TRUE THEN
    DISPLAY "Message sent succesfuly"
  ELSE
    CALL ui.Interface.frontCall("WinMail", "GetError", [id], [str])
    DISPLAY str  
  END IF  
  CALL ui.Interface.frontCall("WinMail", "Close", [id], [result])

END MAIN
在XP+GDC2.02.04下測試成功,但是尚有以下問題:

1.嘗試在郵件主題和正文中書寫漢字,用outlook客戶端接收到的郵件顯示爲亂碼

2.因爲目前的大部分smpt服務器都會要求發送認證,所以此示例的郵件只可在本域內發送,不知道對於smpt認證,程序要如何處理?

針對以上問題,有這方面的達人請不吝指教,謝謝!

發佈了61 篇原創文章 · 獲贊 8 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章