Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Mail mit PDF-Anhänge werden nicht gesendet (https://www.delphipraxis.net/179909-mail-mit-pdf-anhaenge-werden-nicht-gesendet.html)

HPB 10. Apr 2014 09:53

Mail mit PDF-Anhänge werden nicht gesendet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag Delphianer,
beim Senden einer Mail mit PDF-Anhängen wird folgende Fehlermeldung ausgegeben (siehe auch Anhang):
"Im Projekt XXXX ist eine Exception der Klasse EIdSMTPReplayError mit der Meldung 'auth failure' aufgetreten.
Ich kann mit dieser Meldung nichts anfangen. Was ist am Code Falsch?

Delphi-Quellcode:
procedure TMSFmDokumentVerwaltung.VersendeMail;
var
  pMailBetreff: string;
  pMailAdresse: string;
  pMailAnhang: string;
  pMailBody: TRichEdit;
  pErrMsg: string;
  IDAttachmentList: TStringList;
  IDAttachment : TIdAttachmentFile;
  i: Integer;
begin
  if not MeldeMailServerAn then
  begin
    MessageBox(0, 'Es konnte keine Verbindung zum Mailserver' + #13#10 +
      'aufgebaut werden!', 'BPS WAWI . . .', MB_OK + MB_ICONSTOP);
    Exit;
  end;

  if dbdvgrdAlleSendeMail.RowCount = 0 then
  begin
    MessageBox(0, 'Es stehen keine Mails für' + #13#10 +
      'das Versenden bereit!', 'BPS WAWI . . .', MB_OK + MB_ICONINFORMATION);
    Exit;
  end;

  MKA.alledokumente.First;
  while not MKA.alledokumente.Eof do
  begin
    pErrMsg := '';
    pMailBody := redtMailBody;
    pMailBody.Clear;
    pMailBetreff := '';
    pMailAdresse := '';
    pMailAnhang := '';

    pMailAdresse := HoleEmailAdresseVomEmpfaenger(
      MKA.alledokumenteADRESSID.AsInteger);
    pMailBetreff := edtMailBetreff.Text;
    pMailAnhang := MKA.alledokumenteDOKUMENTPFAD.AsString + '\'
      + MKA.alledokumenteDOKUMENTNAME.AsString + ',' + FPfadNameAGB;


    pMailBody.Lines.Clear;
    pMailBody.Lines.Insert(0, MKA.alledokumenteMAILTEXT.AsAnsiString);

    idmsgSendeMail.Clear;
    idmsgSendeMail.MessageParts.Clear;
    idmsgSendeMail.Date := Now;
    idmsgSendeMail.ContentType := 'multipart/related + multipart/mixed '
      + ' + text/plain + text/html + multipart/alternative + application/pdf';
    idmsgSendeMail.CharSet := 'ISO-8859-1';

    idmsgSendeMail.From.Text := FMailSender;
    idmsgSendeMail.Sender.Text := FMailSender;
    idmsgSendeMail.Recipients.EMailAddresses := pMailAdresse;
    idmsgSendeMail.Subject := pMailBetreff;
    idmsgSendeMail.Body.Append(redtMailBody.Text);


    if pMailAnhang <> '' then
    begin
     IDAttachmentList := TStringList.Create;
     IDAttachmentList.CommaText := pMailAnhang;

     for i := 0 to IDAttachmentList.Count -1 do
     begin
     idmsgSendeMail.IsEncoded := True;
     IDAttachment := TIdAttachmentFile.Create(idmsgSendeMail.MessageParts,
      IDAttachmentList.Strings[i]);
      IDAttachment.FileName := ExtractFileName(IDAttachmentList.Strings[i]);
      IDAttachment.ContentType := 'application/octet-stream';
      IDAttachment.OpenLoadStream;
      IDAttachment.CloseLoadStream;

     end;
    end;
    // Mail versenden
    try
      idsmtpSendMail.Send(idmsgSendeMail);
      pMailBody.Lines.Delete(0);
      ReDokumente.MailGesendet := 'J';
      ReDokumente.MailGesendetAm := Now;
      IDAttachmentList.Free;
    except
      on E: Exception do
      begin
        pErrMsg := e.Message;
        if idsmtpSendMail.LastCmdResult.Code <> '' then
          pErrMsg := idsmtpSendMail.LastCmdResult.Text.Text
            + #13#10 + '--'
            + #13#10 + pErrMsg;
        ReDokumente.MailGesendet := 'N';
        IDAttachmentList.Free;
      end;
    end;

    MKA.alledokumente.Next;
  end;
  ReDokumente.DoOpenTabelleNichtGesendeteDokumente;
  LeseDokumenteInVSTEin;
  MKA.alledokumente.First;
end
Kann vielleicht jemand weiter helfen??
Vielen Dank für Hinweise, Lösungsvorschläge im Voraus.
HPB

VCLControls 10. Apr 2014 09:58

AW: Mail mit PDF-Anhänge werden nicht gesendet
 
Sieht so aus als hätte die Anmeldung am Server nicht geklappt.
Delphi-Quellcode:
if not MeldeMailServerAn then

Union 10. Apr 2014 10:05

AW: Mail mit PDF-Anhänge werden nicht gesendet
 
Der Server verlangt eine Anmeldung.

Delphi-Quellcode:
idmsgSendeMail.Username := 'Ich@null.com';
idmsgSendeMail.Password := 'g3h3lm';

jobo 10. Apr 2014 10:15

AW: Mail mit PDF-Anhänge werden nicht gesendet
 
Die Anmeldung muss ggf. neuerdings auch secured erfolgen. Die Emailanbieter "überschlagen" sich ja aktuell mit Ihren Sicherheitsvorkehrungen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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