Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi eMail über Standard-Mail-Programm verschicken (https://www.delphipraxis.net/65302-email-ueber-standard-mail-programm-verschicken.html)

benst 14. Mär 2006 21:55


eMail über Standard-Mail-Programm verschicken
 
Hi,

wie kann eine eMail über das Standard-Mail-Programm schicken (z.B. Outlook)?
Sprich... ich habe Felder für Empfänder und Betreff und ein Memo für die Nachricht, beim Betätigen von Button wird Mail verschickt, sprich es erscheint eine Mail im Postausgang von z.B. Outlook.
Danke

Gruß
Ben
_____________________________
Delphi 5 Standard, Win XP

marabu 15. Mär 2006 06:11

Re: eMail über Standard-Mail-Programm verschicken
 
Hallo Ben,

im Object Repository (Objektgalerie) findest du die Win95-Logo-Anwendung. Diese enthält schon den Code zum Versenden einer Nachricht über das Simple Mail API.

Grüße vom marabu

benst 15. Mär 2006 09:59

Re: eMail über Standard-Mail-Programm verschicken
 
Hi,
Zitat:

im Object Repository (Objektgalerie) findest du die Win95-Logo-Anwendung. Diese enthält schon den Code zum Versenden einer Nachricht über das Simple Mail API.
Die Win95-Logo-Anwendung habe ich leider nicht gefunden. Ich habe nur über Outlook E-Mail verschicken gefunden.
Das ist schon ganz gut, aber ich möchte, dass die Mail sofort in den Postausgang gelangt und mir nicht erst einmal angezeigt wird.

Gruß
Ben

Angel4585 15. Mär 2006 10:06

Re: eMail über Standard-Mail-Programm verschicken
 
Delphi-Quellcode:
with IdMessage1 do
 begin
 Body.Assign(MemoEMailtext.Lines);
 Recipients.Add.Address:=EmpfaengerEMail;

 from.Address:=Absenderadresse;
 Subject:=Betreff;
 end;
with IdSMTP1 do
 begin
 Username:=benutzername;
 Password:=Passwort;
 Host:=HostIP;
 Connect;
 for i:= 0 to Pred(LBAnhaenge.Items.Count) do
  TIdAttachmentFile.Create(IdMessage1.MessageParts,LBAnhaenge.Items.Strings[i]);
 Send(IdMessage1);
 Disconnect;
 end;
Versuch das mal

mquadrat 15. Mär 2006 10:29

Re: eMail über Standard-Mail-Programm verschicken
 
@Angel

Er möchte über MAPI und das Standard-Programm schicken, nicht direkt per SMTP...

TeronG 15. Mär 2006 10:49

Re: eMail über Standard-Mail-Programm verschicken
 
Zitat:

Zitat von mquadrat
Er möchte über MAPI und das Standard-Programm schicken, nicht direkt per SMTP...

In der Code-Lib gibt es ein Beispiel zu MAPIMAPI

EDIT/ADD:
Das Ding lag bei mir noch so rum (müsste eigentlich funtzen ^^)
Delphi-Quellcode:
function TG_MailVersenden(eMail,Betreff,Mailtext:String;anhang:string='') : Integer;
var
  s: String;
begin
  s := 'mailto:'+eMail+'?Subject='+Betreff+'&Body='+Mailtext;
  if Anhang <> '' then s:=s+'&Attach=""'+Anhang+'""';

  result := ShellExecute(Application.Handle, 'open', PChar(s), nil, nil, SW_SHOWNORMAL);
end;

benst 15. Mär 2006 17:55

Re: eMail über Standard-Mail-Programm verschicken
 
Zitat:

Das Ding lag bei mir noch so rum (müsste eigentlich funtzen ^^)
Das ist sehr schön. Bis auf den Anhang funst das bei mir auch, aber das Problem ist geblieben. Die erstellte eMail öffnet sich und wird nicht abgesendet. Ich wollte einen kleinen Serienmailer schreiben, da kann ich ja nicht jedes mal 20mal auf absenden drücken...
Hat jemand ne Idee, wie ich das beheben kann?
Gruß
Ben

marabu 15. Mär 2006 18:09

Re: eMail über Standard-Mail-Programm verschicken
 
Hi Ben,

zum Thema Extended MAPI sollte es inzwischen mehrere threads in der DP geben.

marabu

R2D2 15. Mär 2006 19:01

Re: eMail über Standard-Mail-Programm verschicken
 
Ich mache das immer so:
Delphi-Quellcode:
 ShellExecute(Application.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL);
wobei Param z. B.
Zitat:

mailto:Addresse@hoster.de
enthält.

benst 16. Mär 2006 08:07

Re: eMail über Standard-Mail-Programm verschicken
 
@TeronG:
Weißt du wie ich bei deiner Variante es so machen kann, dass das mit den Anhängen funktioniert?
Bei mir funktioniert es nämlich nicht. (Ich habe 'c:\a.txt' als Parameter angegeben, ist das falsch?)

Gruß
Ben

alzaimar 16. Mär 2006 08:13

Re: eMail über Standard-Mail-Programm verschicken
 
Das "mailto:" protokoll erlaubt das Anhängen von Dateien, nur unterstützen das nicht alle Mail-clients.

Code:
mailto:foo@bar.com&attach="MyFile"

Luckie 16. Mär 2006 09:10

Re: eMail über Standard-Mail-Programm verschicken
 
Outlook Express tut es zum Beispiel nicht.

TeronG 16. Mär 2006 11:24

Re: eMail über Standard-Mail-Programm verschicken
 
Zitat:

Zitat von benst
Weißt du wie ich bei deiner Variante es so machen kann, dass das mit den Anhängen funktioniert?
Bei mir funktioniert es nämlich nicht. (Ich habe 'c:\a.txt' als Parameter angegeben, ist das falsch?)

hmm :gruebel: habe es gerade mit
Delphi-Quellcode:
if OpenDialog1.Execute then TG_MailVersenden('asd@aa.de','dd','testtexxt',OpenDialog1.FileName);
//bzw.:
TG_MailVersenden('asd@aa.de','dd','testtexxt','c:\config.dat');
getestet und da ging es ... :gruebel:
getestet mit MS Outlook (nicht express)

und beim automatischen versand kann ich dir auch nicht weiterhelfen :oops: (hab grad auch wenig zeit zum gugn)

shmia 16. Mär 2006 16:14

Re: eMail über Standard-Mail-Programm verschicken
 
Schau mal auf http://www.delphipraxis.net/internal...ct.php?t=78140
Du müsstest nur die Steuerdatei schreiben und das Kommandozeilenprogramm aufrufen.
Das eignet sich natürlich nicht zum massenweisen EMail-Versand, da durch das Dateischreiben
pro Mail ca. 100ms auf der Stecke bleiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr.

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