AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke E-Mail senden geht nicht mehr
Thema durchsuchen
Ansicht
Themen-Optionen

E-Mail senden geht nicht mehr

Ein Thema von NoName1 · begonnen am 31. Jul 2021 · letzter Beitrag vom 4. Aug 2021
Antwort Antwort
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#1

E-Mail senden geht nicht mehr

  Alt 31. Jul 2021, 16:16
Guten Tag,
seit einigen Tagen kann ich aus meinem Programm keine E-Mail mehr senden.
Ich benutze die Indy-Komponenten zum Senden der E-Mails und es können nur E-Mails gesendet und nicht empfangen werden.

Es wird der Fehler in der Anlage angezeigt.
Für die Serveranmeldung usw. nutze ich folgen Code:
Delphi-Quellcode:
procedure TFrmMailVerkehr.SendeEmail(aAnmelden: Boolean);
var
  pMailAdresse: string;
  pBCCListe: string;
  pErrMsg: string;
  pAnz: SmallInt;
  pEText: string;

  AMessage: TIdMessage;
  ASMTP: TIdSMTP;
  I: Integer;
  AStream: TMemoryStream;
  AMessageBuilder: TIdMessageBuilderHtml;

  procedure CheckMail;
  var
    I: Integer;
    APart: TIdMessagePart;
    AFileName: string;
    s: string;
  begin
    // ContentDisposition erweitern, sonst werden InlinImages
    // nicht auf Android angezeigt...
    AMessage.MessageParts.CountParts;
    for I := 0 to AMessage.MessageParts.Count - 1 do
    begin
      APart := AMessage.MessageParts[I];
      if (APart.ContentDisposition = 'inline') then
      begin
        s := APart.Headers.Values['Content-ID'];
        if s <> 'then
        begin
          AFileName := Copy(s, 2, Length(s) - 2);
          APart.Headers.Values['Content-Disposition'] := 'inline; filename="' +
            AFileName + '"';
        end;
      end;
    end;
  end;

  function ServerAnmelden: Boolean;
  begin
    Result := True;
    ASMTP := TIdSMTP.Create(Self);
    if ASMTP.Connected then
      ASMTP.Disconnect(True);

    try
      ASMTP.AuthType := satDefault;
      ASMTP.UserName := MailUserName;
      ASMTP.Password := MailPassWort;
      ASMTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(ASMTP);

      // ASMTP.UseTLS := utNoTLSSupport;
      ASMTP.UseTLS := utUseImplicitTLS;
      if (MailPort = 465) or (MailPort = 587) then
        ASMTP.UseTLS := utUseExplicitTLS // utNoTLSSupport
      else
        ASMTP.UseTLS := utUseImplicitTLS;


      ASMTP.ManagedIOHandler := True;
      ASMTP.Host := MailHostName;
      ASMTP.Port := MailPort;
      ASMTP.Connect;
    except
      on E: Exception do
      begin
        pErrMsg := e.Message;
        if ASMTP.LastCmdResult.Code <> 'then
          pErrMsg := ASMTP.LastCmdResult.Text.Text
            + sLineBreak + '--'
            + sLineBreak + pErrMsg;
        ASMTP.Free;
        Result := False;
      end;
    end;
......

Bei meiner Recherche bin ich auf diesen Beitrag gestoßen:
https://www.delphipraxis.net/198893-...icht-mehr.html
Aber in diesem Beitrag geht es um den Download und nicht um das Senden von E-Mails.

Hat jemend für dieses Problem eine Lösung?

Vielen Dank für die Hilfe im Voraus.
Miniaturansicht angehängter Grafiken
fehler-ssl.png  
  Mit Zitat antworten Zitat
Faxe

Registriert seit: 10. Jan 2013
29 Beiträge
 
Delphi XE3 Professional
 
#2

AW: E-Mail senden geht nicht mehr

  Alt 31. Jul 2021, 17:35
Ich vermute mal dein Mail-Provider verlangt jetzt mindestens TLS 1.1 oder sogar 1.2.

Was nimmst du?

Gruß,
Faxe
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: E-Mail senden geht nicht mehr

  Alt 4. Aug 2021, 19:06
TLS 1.1 und 1.2. wurde IMO als unsicher eingestuft, weshalb es möglich ist, dass dein Provider TLS 1.3 voraussetzt.
Ein googlen nach "libeay32.dll" bzw. "ssleay32.dll" und "TLS 1.3" könnte dir weiterhelfen.

Dann gibt es auch unterschiedliche Authentifizierung-Methoden für das Senden per SMTP. So setzen verschiedene Mail-Server eine Authentifizierung per POP3 voraus, bevor du eine eMail per SMTP versenden kannst.
In wie weit das in den Indy-Klassen implementiert ist, kann ich nicht sagen (ich nutze sie nicht). Evtl. aber die Delphi-Praxis-Community
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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