AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EMail über Outlook 2003 versenden

Ein Thema von HolgerCW · begonnen am 16. Aug 2013 · letzter Beitrag vom 20. Aug 2013
Antwort Antwort
Seite 1 von 2  1 2      
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

EMail über Outlook 2003 versenden

  Alt 16. Aug 2013, 15:23
Delphi-Version: 2006
Hallo zusammen,

es wurde bestimmt schon 100mal gepostet, aber ich konnte leider das ganze nicht so ganz verstehen.

Wie kann ich schnell und einfach mit Delphi 2006 eine EMail inkl. Anhang versenden ?

Ich habe mit auch mal die TOutookApplication auf meine Form gezogen aber komme da nicht so wirklich weiter.

Ich denke ich brauche hier nur mal so die ersten Schritte, damit ich los legen kann ...

Über Hilfe wäre ich sehr dankbar ...

Gruss

Holger
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
221 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: EMail über Outlook 2003 versenden

  Alt 16. Aug 2013, 15:34
such mal nach MAPI
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: EMail über Outlook 2003 versenden

  Alt 16. Aug 2013, 16:25
In der Jedi (Jcl) gibts 'ne Unit (JclMapi) mit der man einfach über die Simple-MAPI-Schnittelle Mails (u.a. über outlook) verschicken kann.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
madtom

Registriert seit: 24. Feb 2005
Ort: Hamburg
115 Beiträge
 
Delphi XE7 Professional
 
#4

AW: EMail über Outlook 2003 versenden

  Alt 16. Aug 2013, 18:51
Gerade getestet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  aMailItem: _MailItem;
  aNameSpace: NameSpace;
  aFolder: MAPIFolder;
  Recipient: string;
begin
  aMailItem := OutlookApplication1.CreateItem(olMailItem) as _MailItem;
  aNameSpace := OutlookApplication1.GetNamespace('MAPI');
  aNameSpace.Logon(EmptyParam, EmptyParam, False, True);
  aFolder := aNameSpace.GetDefaultFolder(olFolderOutbox);
  Recipient := 'email@address.de';
  aMailItem.Importance := olImportanceHigh;
  aMailItem.Recipients.Add(Recipient);
  aMailItem.Attachments.Add('C:\XXX\Bild.bmp', EmptyParam, EmptyParam, EmptyParam);
  aMailItem.Subject := 'Attachment Test';
  aMailItem.Body := 'This is an Email with an Attachment';
  aMailItem.Send;
end;
Thomas
Delphi Programming
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#5

AW: EMail über Outlook 2003 versenden

  Alt 17. Aug 2013, 09:26
In der Jedi (Jcl) gibts 'ne Unit (JclMapi) mit der man einfach über die Simple-MAPI-Schnittelle Mails (u.a. über outlook) verschicken kann.
Ja, darin gibt so schöne Methoden wie:

Delphi-Quellcode:
function JclSimpleSendMail(const Recipient, Name, Subject, Body: AnsiString;
  const Attachment: TFileName = ''; ShowDialog: Boolean = True; ParentWND: THandle = 0;
  const ProfileName: AnsiString = ''; const Password: AnsiString = ''): Boolean;
und

Delphi-Quellcode:
function JclSimpleBringUpSendMailDialog(const Subject, Body: AnsiString;
  const Attachment: TFileName = ''; ParentWND: THandle = 0;
  const ProfileName: AnsiString = ''; const Password: AnsiString = ''): Boolean;
Einfacher geht es nicht, und wenn man mehr Features (zum Beispiel mehrere Attachments) benötigt kann man direkt mit der Klasse TJclEmail arbeiten.
Michael Justin
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#6

AW: EMail über Outlook 2003 versenden

  Alt 19. Aug 2013, 12:05
Danke für die Hilfen. Meine Funktion sieht nun so aus:

Delphi-Quellcode:
function EMail_versenden_Outlook(An, Cc, Text: String; Subject:String; Anhang:String; Mit_Abfrage: Boolean):Boolean;
var
 TOA:TOutlookApplication;
 MI: MailItem;
begin

 Result := FALSE;

 TOA:= TOutlookApplication.Create(Form_Email.Outlook);

 TOA.ConnectKind := ckRunningOrNew;
 try

  TOA.Connect;

 except

  TOA.Free;
  MessageDlg('Outlook kann nicht geöffnet werden!',mtError,[mbok],0);
  exit;

 end;

 MI:= TOA.CreateItem(olMailItem) as MailItem;
 MI.Attachments.Add(Anhang,emptyParam,EmptyParam,EmptyParam);
 MI.Body:= Text;
 MI.Subject:= Subject;
 MI.Companies:= 'Your Company';
 MI.Categories:='HelpDesk';
 MI.Recipients.Add(An);
 MI.CC := Cc;
 MI.Display(1);
 TOA.Disconnect;
 TOA.Free;

 Result := TRUE;

end;
Wie kann ich nun abchecken ob die E-Mail wirklich versendet wurde, oder noch besser wie kann ich die E-Mail direkt versenden, ohne das der Anwender noch eingreifen kann ?

MfG

Holger
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: EMail über Outlook 2003 versenden

  Alt 19. Aug 2013, 14:01
..., oder noch besser wie kann ich die E-Mail direkt versenden, ohne das der Anwender noch eingreifen kann ?
Gar nicht (jedenfalls nicht über diese Schnittstelle). Den diesen Wunsch/Realisierung hatten zuvor schon zig-Tausend Scrippt-Kiddies mit VBA-Würmern auch. Und irgendwann hat MS hie dicht gemacht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: EMail über Outlook 2003 versenden

  Alt 19. Aug 2013, 14:46
Wie kann ich nun abchecken ob die E-Mail wirklich versendet wurde, oder noch besser wie kann ich die E-Mail direkt versenden, ohne das der Anwender noch eingreifen kann ?
Bei meinen Email-Provider gibt es einen SENT-Ordner, worin Duplikate aller gesendeten Emails aufbewahrt werden. Meiner Erfahrung nach ist das Standard. Du könntest daher versuchen, mit einer entsprechenden Indy-Komponente auf diesen SENT-Ordner zuzugreifen, um nachzuschauen, ob sich die gesendete Email darin befindet. Natürlich mußt du zuvor auch dein Postfach so einstellen, daß Kopien gesendeter Mails angelegt werden.

Und du kannst natürlich auch noch in Outlook einstellen, daß du eine Rückmeldung wünschst, sobald der Empfänger die Mail geöffent hat. Letztgenannte Methode garantiert jedoch nicht mit 100%iger Sicherheit, daß die Mail tatsächlich versandt wurde, denn der Empfänger kann die Bestätigung verweigern.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#9

AW: EMail über Outlook 2003 versenden

  Alt 20. Aug 2013, 11:55
Könntest Du mir mal ein Beispiel für das Abfragen des SENT-Ordners posten ?

Gruss

Holger
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#10

AW: EMail über Outlook 2003 versenden

  Alt 20. Aug 2013, 12:19
Wie kann ich nun abchecken ob die E-Mail wirklich versendet wurde, oder noch besser wie kann ich die E-Mail direkt versenden, ohne das der Anwender noch eingreifen kann ?
Für direkten Versand ohne Benutzereingriff kann man SMTP verwenden, das auch von Microsoft Exchange unterstützt wird - falls nicht vorhanden, dann einfach direkt über den Mailprovider.
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 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