2016-06-21 17 views
0

我使用Redemption.dll在Delphi 10 Seattle中有以下代碼。但是,直到我按下「發送/接收」時,該電子郵件才卡在我的收件箱中。我如何讓它自動發送電子郵件?Redemption.dll和delphi如何發送郵件

procedure TForm1.sendMail(sendername, senderemail, subject, reciever, 
    message: WideString; Html_or_text: Boolean); 
const 
    olMailItem = 0; 
var 
    olApp, OlNameSpace, OlItem, rdSafeItem, rdUtils: variant; 
    OutlookApplication1 : OleVariant; 
    NameSpace : OleVariant; 
    AddressLists : OleVariant; 
    AddressList : OleVariant; 
    AddressEntries : OleVariant; 
    folder:RDOFolder; 
    m : RDOMail; 
    mailitem: SafeMailItem; 
begin 
    folder := session.GetDefaultFolder(olFolderInbox); 
    m := folder.Items.Add(olMailItem); 
    m.To_ := reciever; 
    m.Subject := subject; 
    //rdomail.SentOnBehalfOfEmailAddress = ; 
    m.SenderName := sendername; 
    m.Body := message; 
    m.SenderEmailAddress := senderemail; 
    //m.Save(); 
    m.Send; 
end; 
+0

請格式化您的代碼,使其更易於閱讀。這樣你的答案機會就會提高。 – dummzeuch

回答

-2

電子郵件正被添加到收件箱中。相反,它應該被添加到發件箱,然後Outlook將自動發送它。

更換

folder := session.GetDefaultFolder(olFolderInbox); 

folder := session.GetDefaultFolder(olFolderOutbox); 
+0

絕對不是。發件箱是眼睛的糖果 - 它什麼都不做。消息可以從任何文件夾提交。 –

4

這是可以預料的緩存配置文件 - 除非你使用的是網上交易的個人資料,這是展望,將需要發送的消息。

您可以在Outlook對象模型中使用Namespace.SendAndReceiveSyncObject.Start

查看http://www.dimastr.com/redemption/faq.htm#1瞭解更多詳情。

相關問題