Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Outlook: Mailadresse der aktuell fokusierten Mail (https://www.delphipraxis.net/167672-outlook-mailadresse-der-aktuell-fokusierten-mail.html)

erich.wanker 12. Apr 2012 10:17

Outlook: Mailadresse der aktuell fokusierten Mail
 
Hallo Leute,
schöne Grüße aus dem sonnigen Salzburger Land...

Ich hätte eine Frage:

Outlook hat ja "grundsätzlich" 3 Darstellungsbereiche:
  • Treeview der verschiedenen Ordner
  • Übersicht der Mails
  • Detailansicht der aktuellen fokusierten Mail

Ich würde jetzt gerne (via Timer ?) die eMailadresse der gerade fokusierten Mail in meiner Delphi7 Anwendung darstellen...egal welcher Ordner gerade aktiv ist...

Hat jemand eine Idee, wie ich zu der eMailadresse kommt ?

Vielen Dank für Hinweise
mit freundlichen Grüßen

Erich

Bummi 12. Apr 2012 10:38

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
Liste der Anhänge anzeigen (Anzahl: 4)
Ich schätze das dürfte schwierig werden.
Das Grid liefert außer Klasse und Titel keine Informationen
Datum ist von der gleichen Klasse wie Empfänger, liefert aber im Gegesatz zum Empfänger Informationen.
An die Handles kommt man, aber wie identifiziert man dir richtigen und wie extrahiert man speziell die Email-Adresse.

bernerbaer 12. Apr 2012 10:51

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
Warum nicht umgekehrt?
Schreib ein kleines VBA Makro in Outlook und sende bei jeder Änderung der Auswahl eine Message an dein Programm.

Ein erster Ansatz könnte z.B. dieses Script sein: VBA Script

s.h.a.r.k 12. Apr 2012 10:59

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
Hm... Über entsprechende Outlook-Schnittstellen müsste es dann aber imho auch gehen! Ich weiß zwar nicht wie genau und ob, aber kombinier doch ein einfach mal den Code von hier und VBA-Code, den bernerbaer verlinkt hat:
Zitat:

Zitat von bernerbaer (Beitrag 1161452)
Ein erster Ansatz könnte z.B. dieses Script sein: VBA Script

Ein wenig Ingenieursgeist, dann wird das schon klappen :stupid:

erich.wanker 12. Apr 2012 13:39

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
Hab jetzt einen Ansatz zur Lösung....

ABER: Wie kann ich herausfinden, welches item von "currentFolder.items[..]" selected ist?

Unten dargestellter Code funktioniert bis auf die Phantasieangabe "if currentFolder.items[...].selected"

Vielen Dank für Hinweise
LiGrü

Erich


Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons,ComObj, ActiveX, OleServer, OutlookXP, StdCtrls, ComCtrls ;

type
  TForm1 = class(TForm)
    SpeedButton2: TSpeedButton;
    Label1: TLabel;
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}






procedure TForm1.SpeedButton2Click(Sender: TObject);
var
    i                               : Integer;
    NewMail                         : boolean;
    Outlook, NmSpace, currentFolder : OleVariant;

Begin

  Outlook := CreateOleObject('Outlook.Application');         //OK

  NmSpace := Outlook.GetNamespace('MAPI');                   //OK

  NmSpace.Logon(EmptyParam, EmptyParam, False, True);        //OK

  currentFolder := NmSpace.GetDefaultFolder(olFolderInbox);  // ?warum gibts nicht: currentFolder := NmSpace.GetDefaultFolder(olCurrentFolder);  -> MSDN-Doku hilft mir nicht weiter: Application.ActiveExplorer.CurrentFolder

  NewMail := (currentFolder.UnreadItemCount > 0);            //OK
    if NewMail then
      ShowMessage('Ungelesene Nachrichten im Posteingangsordner: '+ inttostr(currentFolder.UnreadItemCount));


  for i:=1 to currentFolder.items.Count do
  begin

   if currentFolder.items[i].selected then    // Ist reine Phantasie !!!!!!!!!  WIE KANN ICH SOWAS REALISIEREN
     begin
          ShowMessage('Subjekt : '+currentFolder.items[i].Subject+#13+
          'Sendername : '+currentFolder.items[i].SenderName+#13+
          'von : '+currentFolder.items[i].SenderEmailAddress+#13+
          'an : '+currentFolder.items[i].To);
     end;
  end;



end;

end.

bernerbaer 12. Apr 2012 13:47

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
vielleicht hilft ja microsoft weiter

[edit]der erste Link den ich dir genannt habe zeigt ebenfalls wie man auf die selektierten items zugreift[/edit]

erich.wanker 12. Apr 2012 15:29

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
@bernerbaer: ..leider nicht.

Die VBA´ler machen es via "Set Selection = currentExplorer.Selection", aber via Delphi schaff ich´s nicht...

Hat jemand ne idee ?

Thanx
Erich

bernerbaer 12. Apr 2012 15:43

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
Na dann hilft vielleicht das weiter

erich.wanker 12. Apr 2012 17:12

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
:oops: .. irgendwie komischer - das Outlook-Dingens ....

Via OutlookApplication1 greif ich nun auf einzelne Outlook-Nachrichten zu.
Ich kann alle möglichen Infos auslesen - NUR NICHT DIE EMALADRESSE DES SENDERS ?


Nachricht.SenderName -> Sendername
Nachricht.Subject -> Subjektname
Nachricht.To_ -> Empfänder eMailadressse

Wo bitte finde ich die "Nachricht.SenderEmailAddress"

:stupid: Danke
Erich


Delphi-Quellcode:


procedure TForm1.SpeedButton2Click(Sender: TObject);
var
    i                               : Integer;
    NmSpace                         : OleVariant;
    Nachricht                       : MailItem;

Begin
OutlookApplication1.Connect;
NmSpace      := OutlookApplication1.GetNamespace('MAPI');
NmSpace.Logon ('', '', False, False);


if OutlookApplication1.ActiveExplorer().Selection.Count > 0 then
    begin
          Nachricht:= OutlookApplication1.ActiveExplorer.Selection.Item(1) as _MailItem;
          label1.Caption:=(
          'Sender : '+Nachricht.SenderName+#13+
          'Subjekt : '+Nachricht.Subject+#13+
          'Mailadresse : '+Nachricht {?????????} +#13+                          // <<<<<<<------------- !!!!
          'Empfänger : '+Nachricht.To_);
    end;

end;

end.

Bummi 12. Apr 2012 17:19

AW: Outlook: Mailadresse der aktuell fokusierten Mail
 
http://msdn.microsoft.com/en-us/libr...m_members.aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.
Seite 1 von 2  1 2      

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