AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Probleme mit email mittels ShellExecute (mailto....)
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit email mittels ShellExecute (mailto....)

Ein Thema von Steffen0917 · begonnen am 3. Jan 2006 · letzter Beitrag vom 6. Jan 2006
Antwort Antwort
Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Probleme mit email mittels ShellExecute (mailto....)

  Alt 3. Jan 2006, 11:27
Hallo zusammen,

ich weiß, dieses Thema ist gar nicht neu, aber ich habe jetzt die bis jetzt vorgestellten Lösungen probiert und bin nicht zufrieden:

Aufgabe: email nur mit Recipients + subject + Body kein Attachment
Das ganze soll an das Standard-emailprogramm übertragen werden, um es von dort zu senden
Der Body hat aber mehr als 2000 Zeichen !

1. Lösung mit ShellExecute (mailto....) funktioniert prima, aber wenn Body > 2000 Zeichen
geht gar nix mehr

2. Lösung mit MAPI: hat gestern genau 1 mal funktioniert, jetzt bekomme ich immer
"unbekannter Fehler" (MAPI_E_FAILURE = 2)

Bis jetzt nehm ich die Lösung 1, schieb den langen Text vorher mit 'Clipboard.AsText:=text' in die Zwischenablage. Wenn das mail aufgerufen wird, muss ich halt noch "einfügen" aus Zwischenablage drücken.

Hat noch jemand ne Idee ???
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

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

Re: Probleme mit email mittels ShellExecute (mailto....)

  Alt 3. Jan 2006, 12:06
schau dir mal diese Lösung an. (siehe Unit1.zip)
Hab ich hier in der DP gefunden, weiss aber nicht mehr wo.

gruessle
Angehängte Dateien
Dateityp: zip unit1_210.zip (3,7 KB, 90x aufgerufen)
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
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Probleme mit email mittels ShellExecute (mailto....)

  Alt 3. Jan 2006, 12:17
oder TeasyOutlookMail
von Delphi Super Page
damit sollte es auch gehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Probleme mit email mittels ShellExecute (mailto....)

  Alt 4. Jan 2006, 12:03
Ja, super.

Die Lösung von Raven funktioniert.

Jetzt müsste ich nur noch wissen, welchen Parameter ich ändern muss, dass das mail als Vollbild gestartet wird, meins öffnet sich nämlich immer als kleines Fenster.

Weiss das jemand ???

Gruss, Steffen
Steffen
  Mit Zitat antworten Zitat
Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Probleme mit email mittels ShellExecute (mailto....)

  Alt 6. Jan 2006, 20:02
So, das ist die Lösung, mit der ein mail auch grösser als 2000 Zeichen sein kann, wenn man es an das Standard-mailprogramm übergibt.

Nur - weiss jemand, wie ich das auf "maximiert" stelle ??? Bei mir geht immer nur ein kleines Fenster auf...


Delphi-Quellcode:
procedure TForm1.SendMail(adresse, betreff, mailtext : string);
var
  MapiMessage: TMapiMessage;
  MapiRecipDesc: TMapiRecipDesc;
  MError: Cardinal;
begin
  FillChar(MapiRecipDesc, SizeOf(TMapiRecipDesc), 0);
  with MapiRecipDesc do
  begin
    ulReserved := 0;
    ulRecipClass := MAPI_TO;
    lpszName := PChar(adresse); // Adresse
    lpszAddress := nil;
    ulEIDSize := 0;
    lpEntryID := nil;
  end;

  FillChar(MapiMessage, SizeOf(TMapiMessage), 0);
  with MapiMessage do
  begin
    ulReserved := 0;
    lpszSubject := PChar(betreff); // Betreff des mails
// lpszSubject := nil;
    lpszNoteText := PChar(mailtext); // Text des mails (body)
// lpszNoteText := nil;
    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;
    lpFiles := nil;
  end;

  MError := MapiSendMail(0, Application.Handle, MapiMessage,
                         MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  if MError <> 0 then
  begin
    MessageDlg('Nachricht wurde nicht gesendet...', mtError, [mbOK], 0);
  end;
end;
[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
Steffen
  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 07:11 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