Einzelnen Beitrag anzeigen

rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
301 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Email über Outlook Express direkt (ohne Fenster) versenden

  Alt 20. Aug 2018, 06:31
Hallo Helmi,

kannst das nicht mit den Indy Komponenten machen? Ich maile mit dieser Routine via SMTP:

Delphi-Quellcode:
    
procedure p_MailSender;
begin
{-------------------------------------------------------------------------------

meine Variablen:

    sMailUser         : String;         // name@domain
    sMailPwd         : String;         // pwd von name@domain
    sMailSender      : String;         // wird nicht benötigt ("im Auftrage von")
    sMailFrom         : String;         // DerGärtner@Domain.de
    sMailRecipients   : String;         // Empfängerliste
    sMailCCList      : String;         // CC Empfängerliste
    sMailBCCList      : String;         // BCC Empfängerliste

    sMailHost         : String;        // Host ID
    iMailPort         : Integer;        // Host Port (25)

   MailMessage.Priority                     := mpNormal;
    sMailSubject      : String;         // Betrefftext
    sMailBody         : String;        // Mail Text
    sMailAttach      : String;        // Dateiname und -Pfad Anlage
-------------------------------------------------------------------------------}

var
   MailMessage                        : TidMessage;
   Anhang                           : TIdAttachment;
begin
   try
      try
         MailMessage                              := TidMessage.Create();   // UM DEM PROBLEM MIT DEN ANHÄNGEN bei zukommen

         MailSmtp.Username                        := sMailUser;            // name@domain
         MailSmtp.Password                        := sMailPwd;            // pwd von name@domain
//         MailMessage.Sender.Address               := sMailSender;         // wird nicht benötigt ("im Auftrage von")
         MailMessage.From.Address               := sMailFrom;            // DerGärtner@Domain.de
         MailMessage.Recipients.EMailAddresses   := sMailRecipients;      // Empfängerliste
         MailMessage.CCList.Clear;
         MailMessage.CCList.EMailAddresses      := sMailCCList;         // CC Empfängerliste
         MailMessage.BCCList.Clear;
         MailMessage.BCCList.EMailAddresses      := sMailBCCList;         // BCC Empfängerliste

         MailSmtp.Host                           := sMailHost;
         MailSmtp.Port                           := iMailPort;

         MailMessage.Priority                     := mpNormal;
         MailMessage.Subject                      := sMailSubject;
         MailMessage.Body.Add(sMailBody);

         // Anhänge: Uses Klausel: IdAttachment, IdMessageParts, IdAttachmentFile;
         // Anhang definieren in:    VAR Anhang : TIdAttachment;
         MailMessage.MessageParts.Clear;
         if sMailAttach <> 'then
            Anhang   := TidAttachmentFile.Create(MailMessage.MessageParts, sMailAttach);

         MailSmtp.Connect;
         MailSmtp.Send(MailMessage);

         MailSmtp.Disconnect(true);

      except
         on E : Exception do // EIdSmptException do //EIdException do
         begin
            Showmessage('Fehler: ' + E.Message);
         end;
      end;
   finally
      // um Fehler zu vermeiden: Mailer abhängen und "alte" Anhänge löschen
      MailSmtp.Disconnect(true);
      MailMessage.MessageParts.Clear;
      MailMessage.Destroy;
      ShowMessage('finally');
   end;

end;
Viel Erfolg!

Rolf
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat