AGB  ·  Datenschutz  ·  Impressum  







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

E-Mail verschicken

Ein Thema von bonsaikatze · begonnen am 24. Jan 2008 · letzter Beitrag vom 14. Mär 2008
Antwort Antwort
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: E-Mail verschicken

  Alt 25. Jan 2008, 08:11
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;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:04 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