2016-06-21 5 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(olFolderOutbox); 
+0

絶対にありません。送信トレイは目の保腹です。何もしません。任意のフォルダからメッセージを送信できます。 –

4

これは、キャッシュされたプロファイルのために予想されると

folder := session.GetDefaultFolder(olFolderInbox); 

を交換してください - あなたは、オンラインExchangeプロファイルを使用していない限り、それはメッセージを送信する必要がありますOutlookがあります。

OutlookオブジェクトモデルでNamespace.SendAndReceiveまたはSyncObject.Startを使用できます。

詳細はhttp://www.dimastr.com/redemption/faq.htm#1を参照してください。

関連する問題