Thema: E-Mail senden

Einzelnen Beitrag anzeigen

Koloss

Registriert seit: 21. Jul 2010
74 Beiträge
 
Delphi 2 Desktop
 
#4

AW: E-Mail senden

  Alt 30. Mär 2016, 14:17
Falls du ein Bild mitsenden möchtest, habe ich eine fertige Funktion dafür:

In ImageFiles stehen die Bilder mit Pfad drinnen.

Diese Indy Units werden benötigt:
Code:
IdSMTPBase, IdSMTP, IdMessage, IdMessageParts, IdText, IdAttachment, IdAttachmentFile, idGlobal
Komponente idSMTP liegt bei mir in einer Form, kannst aber mitgeben oder createn etc. wie du möchtest.
Code:
function TMailThread.SendMail(ToAddress, Subject : String; MailText : String; ImageFiles : TStringDynArray) : Boolean;
var IdMessage: TIdMessage; lTextPart: TIdText;
  idAttachment: TIdAttachment;
  Stream: TStream;
  Enc: TIdTextEncoding;
  i : Integer;
begin
  Result := False;
  IdMessage := TIdMessage.Create(nil);
  IdMessage.Subject := Subject;
  with IdMessage do
  begin
    ContentType := 'multipart/related; type="text/html"';
    CharSet:= 'ISO-8859-1';
    ContentTransferEncoding := 'quoted-printable';
    From.Address := MailSettings.FromAddress;
    From.Name := MailSettings.FromName;
    Recipients.EMailAddresses := ToAddress;
  end;
  with TIdText.Create(IdMessage.MessageParts, nil) do
  begin
    Body.Text := MailText;
    ContentType := 'text/html';
    CharSet := 'ISO-8859-1';
  end;
  for i := 0 to High(ImageFiles) do
    with TIdAttachmentFile.Create(IdMessage.MessageParts, ImageFiles[i]) do
    begin
      ContentID := 'image' + IntToStr(i+1);
      ContentType := 'image/jpeg';
    end;
  try
    IdSMTP.Send(IdMessage);
    Result := True;
  finally
    IdMessage.Free;
  end;
end;

Geändert von Koloss (30. Mär 2016 um 14:31 Uhr)
  Mit Zitat antworten Zitat