Eine weiter Möglichkeit wär die
Unit C:\Program Files (x86)\CodeGear\
RAD Studio\5.0\OCX\Servers\OfficeXP.pas einzubinden und TOutlookApplication zu verwenden.
Ich benutze die Version von 10.4 und Office2016 und die Strg-Leertaste funktioniert hier.
Ich benutze TOutlookApplication schon sehr lange, jedoch über die
Unit Outlook2000.
Das funktioniert auch sehr gut und nach meinen Tests der letzten Tage funktioniert das sogar mit Oultook365. Dachte zuerst es würde mit neueren Versionen nicht mehr funktionieren. Diese falsche Annahme war die Ausgangslage für meine Frage hier.
Was mir mit TOutlookApplication noch fehlt ist das Ermitteln der richtigen E-Mailadresse des Absenders, wenn es über Exchange geht.
Da kommt dann für den Absender sowas in der Art /O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF11SPDLT)/CN=RECIPIENTS/CN=5D7A5C8C23DE4B74B4C8D8D80E510C80-MAILBOX1
Mit den OLEVariants konnte ich das mit
Delphi-Quellcode:
if (email.SenderEmailType = 'EX') then
begin
Sender := email.sender;
if not VarIsNull (sender) then
begin
exchUser := sender.GetExchangeUser;
if not VarIsNull (exchUser) then
Absender := exchUser.PrimarySmtpAddress;
end;
end;
in die korrekte E-Mailadresse umwandeln. Bei TOutlookApplication fehlt mir das. Zumindest habe ich es noch nicht entdeckt.