Einzelnen Beitrag anzeigen

HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#1

Mail mit PDF-Anhänge werden nicht gesendet

  Alt 10. Apr 2014, 10:53
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
Miniaturansicht angehängter Grafiken
sende-fehler.png  
  Mit Zitat antworten Zitat