Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: e-Mail aus Prg heraus versenden

  Alt 24. Mai 2005, 21:00
Oder so (ohne INDY):
Delphi-Quellcode:
Function UrlEncode (Const s : String) : String;
Var
  i : Integer;

Begin
  Result := '';
  For i:=1 To length (s) do
    If ord (s[i]) in [33..127] then
      Result := Result+s[i]
    Else
      Result := Result+'%'+IntToHex (Ord(s[i]),2);
End;

Procedure SendMailViaStandardEMailClient (aRecipients, aSubject, aBody, aAttachment);
Var
  aMailCmd : String;

Begin
  aMailCmd := 'mailto:'+aRecipients + '?subject='+aSubject;
  if aBody <>'Then
    aMailCmd := aMailCmd + '&body='+aBody;
  If aAttachments <>'Then
    aMailCmd := aMailCmd + '&attach="' + aAttachment +'"';
  aMailCmd := UrlEncode (aMailCmd);
  ShellExecute (Application.Handle,'OPEN', PChar (aMailCmd), nil, nil, SW_SHOWDEFAULT);
End;
Vorteil: INDY wird nicht benötigt.
Nachteil: Klappt nicht mit allen email clients. Lotus z.B. öffnet nur den Dialog zum Verfassen einer mail.

Alternativ zu Indy kann man auch die ICS Kompoenten von Francois Piette (www.overbyte.de) nehmen. Die sind Freeware, mit Source und seit Jahren weltweit im Einsatz (also stabil).
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat