Einzelnen Beitrag anzeigen

ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Email Adresse des Senders über MAPI holen

  Alt 17. Jan 2006, 23:42
Yeah, das war das Stichwort! Extended MAPI! Ich depp...

Ich hab mir die neusten MAPI Headers runtergeladen:
MAPI_Headers

Und dann noch die MAPI Services von Evocorp
MAPI Services

Wenn man das ganze nicht als Service ausführen möchte, so muss man noch in den Sources der MAPI Services folgendes ändern:
Bei der Funktion MapiServicesLogOn nur das Flag MAPI_EXTENDED sein lassen, die restlichen löschen.

Und schon kann ich auf alle Daten von Outlook zugreifen, ohne eine Sicherheitsabfrage von Outlook.

Beispielcode:
Delphi-Quellcode:
uses
  MapiServices;
  
procedure DisplayMyMailItems;
var InBox: TInbox;
    MailItem: TMapiMailItem;
begin
  // Insert your actual account name in place
  // of MyAccountName, for instance "Bloggs, Joe"
  InBox := TInBox.Create('MyAccountName');
  try
    MailItem := InBox.GetFirst;
    while Assigned(MailItem) do
    begin
      ShowMessage('From: ' + MailItem.Sender + #13#10 +
                  'Subject: ' + MailItem.Subject);
      // Do what you need to do here
      // ...
      // and then release MailItem.
      MailItem.Free;
      MailItem := InBox.GetNext;
    end;
  finally
    InBox.Free;
  end;
end;
Und wenn man nun mit GetSender (oder MailItem.Sender) lieber die Email statt den Namen haben möchte, so ersetzt man einfach in der GetSender Funktion den Wert PR_SENDER_NAME mit PR_SENDER_EMAIL_ADDRESS.

Das ganze hab ich jetzt aber so schlecht hingeschlurft, dass ich noch kein Codebeispiel von mir uppe. Aber ich säubere mal meinen Code und dann gibts den Code später noch dazu.

Danke marabu, du hast mich auf den richtigen Weg gebracht.
  Mit Zitat antworten Zitat