![]() |
E-Mail verschicken
Wie verschicke ich eine E-Mail über Delphi?
|
Re: E-Mail verschicken
In dem man in der Delphi-PRAXiS danach sucht ;)
|
Re: E-Mail verschicken
Ich schließe Mich meinem Vorredner an, und detailisiere:
via Indy-SMTP-komponente und nem E-Mail-Konto. Oder du lässt das Standart-Email-Programm starten. Das geht mit ShellExecute+Emailadresse+empfänger. gruß snow |
Re: E-Mail verschicken
Alternativ gibt es von den Jedis noch was? TJvMail oder sowas
|
Re: E-Mail verschicken
man kann sie die smtp schnittstelle aber auch selber schreiben.
|
Re: E-Mail verschicken
Kannst auch diesen Code nehmen und leicht anpassen:
Delphi-Quellcode:
uses ..., Mapi, ... ; // email senden procedure TMyForm.SendEmail(); var MapiMessage: TMapiMessage; MapiRecipDesc: TMapiRecipDesc; MError: Cardinal; EmailAdresse: string; targetWnd: HWND; begin EmailAdresse := EdEmpfaenger.Text; // Empfänger setzen FillChar(MapiRecipDesc, SizeOf(TMapiRecipDesc), 0); with MapiRecipDesc do begin ulReserved := 0; ulRecipClass := MAPI_TO; lpszName := PAnsiChar(EmailAdresse); lpszAddress := nil; ulEIDSize := 0; lpEntryID := nil; end; // Nachricht setzen FillChar(MapiMessage, SizeOf(TMapiMessage), 0); with MapiMessage do begin ulReserved := 0; lpszSubject := nil; // kein Subject lpszNoteText := nil; // kein Mailtext lpszMessageType := nil; lpszDateReceived := nil; lpszConversationID := nil; flFlags := 0; lpOriginator := nil; nRecipCount := 1; // nRecipCount muß auf Anzahl der MapiRecipDesc gesetzt werden; lpRecips := @MapiRecipDesc; // lpRecips muß auf die Adresse MapiRecipDesc gesetzt werden; nFileCount := 0; // kein Attachement lpFiles := nil; end; // Nachricht senden MError := MapiSendMail(0, Application.Handle, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0); if MError <> 0 then begin FoLog.log ('Email konnte nicht gesendet werden'); end; // "<ALT> + R" ans Email-Fenster senden (Fokus auf "Betreff" setzen) targetWnd := FindWindow(nil, 'Verfassen: (kein Betreff)'); // Email-Fenster finden if targetwnd <> 0 then begin SetForegroundWindow(targetwnd); // Email-Fenster in den Vordergrund holen sleep(50); // damit das Fenster Zeit hat, in den Vordergrund zu kommen keybd_event(VK_MENU, 0, 0, 0); // <ALT> drücken keybd_event(Ord('R'), 0, 0, 0); // "R" drücken keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0); // <ALT> loslassen keybd_event(Ord('R'), 0, KEYEVENTF_KEYUP, 0); // "R" loslassen end; end; |
Re: E-Mail verschicken
Hi Raven,
ich habe so eine Ähnliche Routine aber ich bekomme als Result oft die 11. Kansnt du mir sagen wo ich sehen kann was die 11 als Error Code bedeutet? danke |
Re: E-Mail verschicken
Zitat:
MAPI_E_ATTACHMENT_NOT_FOUND = 11; Dort sind auch alle anderen Fehler beschrieben. |
Re: E-Mail verschicken
Hi,
Vielen dank. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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