Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Email wird in Outbox gesetzt und nicht gesendet (https://www.delphipraxis.net/209099-email-wird-outbox-gesetzt-und-nicht-gesendet.html)

oakley 25. Okt 2021 20:43

Delphi-Version: 10.4 Sydney

Email wird in Outbox gesetzt und nicht gesendet
 
Hallo zusammen,

ich wollte gerade Outlook per Ole einfach eine Mail versenden lassen, die vorher noch durch den user angepasst werden soll.

habe das ganz einfach so gemacht:

Delphi-Quellcode:
var
  Outlook: OLEVariant;
  mailitem: variant;
begin
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
  mailitem := Outlook.CreateItem(olMailItem);
  mailitem.Recipients.Add('test@test.com');
  mailitem.ReplyRecipients.Add('test@test.com');
  mailitem.Subject := 'test';
  mailitem.body := 'test';
  mailitem.importance := 1;
  mailitem.Display(false);
  Outlook := Unassigned;
end;
Funktioniert auch, nur das die Mails nicht direkt versendet werden sonder im Postausgang bleiben bis ich Outlook starte und dann manuell sende.
Habe gelesen, dass man über den SyncObjects Namespace die Sync manuell starten soll.
Ist das korrekt so und wenn ja... wir genau macht ich das?

LG

Mirko

mmw 25. Okt 2021 21:19

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Hallo,
evtl. so

Delphi-Quellcode:
 mailitem.importance := 1;
  mailitem.Display(false);
  mailitem.save;
  mailitem.send;
  Outlook := Unassigned;
ungetestet.

https://docs.microsoft.com/de-de/off...m.send(method)

Gruß

oakley 25. Okt 2021 21:37

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Hey danke für die Antowrt.

Das funktioniert leider nicht denn wenn ich mailitem.display(false) habe schließt er direkt das nicht modale Fenster und ich habe im Prinzip das gleiche Ergebnis wie wenn ich mailitem.send direkt verwende.
Setze ich das Fenster Modal (mailitem.display(true)) bekomme ich die Anzeige, dass das Objekt bereits verschoben oder gelöscht ist.

LG

Mirko

API 26. Okt 2021 04:28

AW: Email wird in Outbox gesetzt und nicht gesendet
 
mailitem.Display() ganz weglassen?

oakley 26. Okt 2021 08:10

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Ist leider keine Option.
Es muss die Möglichkeit bestehen, die Email vor dem Senden zu bearbeiten.

LG

Mirko

Sinspin 26. Okt 2021 11:19

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Hi. Wenn du keinen Dialog sehen willst verwende
Delphi-Quellcode:
Send
, Willst du einen sehen verwende
Delphi-Quellcode:
Display
. Dann entscheidet der Nutzer ob er senden will oder nicht. Der Unterschied zwischen true und false ist ob Outlook wartet bis der Dialog wieder geschlossen ist (true) oder einfach die Ausführung wieder an dein Program zurück gibt.
Delphi-Quellcode:
Save
und
Delphi-Quellcode:
Send
brauchst du nicht wenn du Display() verwendest.
Delphi-Quellcode:
Save
ist nur nötig wenn du nur speichern willst.

oakley 26. Okt 2021 14:32

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Hallo Stefan,

doch ich möchte einen Dialog sehen aber wenn der User dann auf Senden klickt soll auch gesedet werden.
Das Ganze funktioniert aber nur, wenn Outlook zum Zeitpunkt des Sendens als Programm geöffnet ist.
Wenn nur der Dialog für das Verfassen und Senden einer neuen Email kommt, setzt Outlook diese Mail beim klicken auf "Senden" nur in die Outbox.

Mirko

Sinspin 26. Okt 2021 14:58

AW: Email wird in Outbox gesetzt und nicht gesendet
 
Solange Outlook nicht auf dem Rechner läuft, landet alles einfach im Postausgang. Das ist wohl Absicht so, ich habe jedenfalls noch keine Lösung dafür gefunden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz