AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bringe email an gmx nicht zum laufen...
Thema durchsuchen
Ansicht
Themen-Optionen

Bringe email an gmx nicht zum laufen...

Ein Thema von Schlingel · begonnen am 15. Apr 2014 · letzter Beitrag vom 15. Apr 2014
Antwort Antwort
Schlingel

Registriert seit: 15. Feb 2003
Ort: Österreich
67 Beiträge
 
Delphi XE2 Professional
 
#1

Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 12:34
Hallo

Ich hatte schon geraume Zeit einen email Versand über gmx problemlos am Laufen. (Indy 10.5.8 & XE2)
Jetzt nach der SSL-Umstellung habe ich das Problem das die Authentifizierung nicht funktioniert.

Über gmail funktioniert es einwandfrei.

Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var
  smtp: TIdSMTP;
  ssl: TIdSSLIOHandlerSocketOpenSSL;
  msg: TIdMessage;
  log: TIdLogEvent;
  i: Integer;
begin
  smtp := TIdSMTP.Create(nil);
  ssl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  msg := TIdMessage.Create(nil);
  log := TIdLogEvent.Create(nil);
  log.OnConnect := logConnect;
  log.OnDisconnect := logDisconnect;
  log.OnReceived := logReceived;
  log.OnSent := logSent;
  log.OnStatus := logStatus;

  smtp.Intercept := log;
  ssl.Intercept := log;

  try
    try
      log.Active := True;
      smtp.Host := 'smtp.gmail.com';// <- funktioniert

      // mail.gmx.net <- Problem authentifizierung

      smtp.Port := 587;
      smtp.Username := 'USERNAME@gmail.com'; // USERNAME@gmx.at
      smtp.Password := 'PASSWORD'; // PASSWORD

      ssl.Host := smtp.Host;
      ssl.Port := smtp.Port;
      ssl.SSLOptions.Method := sslvTLSv1;

      smtp.IOHandler := ssl;
      smtp.UseTLS := utUseRequireTLS;

      msg.Recipients.EMailAddresses := 'hans.mustermann@gmx.at';// irgendeine Test Adresse
      msg.Subject := 'This is the subject';
      msg.Body.Text := 'This is the body of the email....';

      smtp.Connect;
      smtp.Send(msg);
      smtp.Disconnect;

      Memo1.Lines.Add('*** email transfer successful ***');
      log.Active := False;
    finally
      log.Free;
      msg.Free;
      ssl.Free;
      smtp.Free;
    end;
  except
    Memo1.Lines.Add('*** email transfer not successful ***');
  end;
end;

procedure TMainForm.logConnect(ASender: TIdConnectionIntercept);
begin
  Memo1.Lines.Add('*** Connect ***');
end;

procedure TMainForm.logDisconnect(ASender: TIdConnectionIntercept);
begin
  Memo1.Lines.Add('*** Disconnect ***');
end;

procedure TMainForm.logReceived(ASender: TComponent;
  const AText, AData: string);
begin
  Memo1.Lines.Add(AText + ' REC: ' + AData);
end;

procedure TMainForm.logSent(ASender: TComponent; const AText, AData: string);
begin
  Memo1.Lines.Add(AText + 'SEND: ' + AData);
end;

procedure TMainForm.logStatus(ASender: TComponent; const AText: string);
begin
  Memo1.Lines.Add('*** Status: ' + AText + ' ***');
end;
Vielleicht hat jemand schon mit diesem Problem gekämpft und kann mir ein wenig auf die Sprünge helfen.

Ich habe ein kleines Test-Projekt angehängt.

Vorab danke für jedigliche Hilfestellung

Schlingel
Angehängte Dateien
Dateityp: zip SendEmail.zip (776,5 KB, 31x aufgerufen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 12:53
Hallo,

welchen SMTP port nutzt Du für GMX?
Bei meinem MailClient (TheBat) habe ich als
SMTP Server: mail.gmx.net
Port: 465
Connection: Secure to dedicated port (TLS)

Use "POP before SMTP" authentication ist bei mir noch enabled.
Ob das bei TLS zwingend sein muss- weiß ich nicht.

Grüße
Klaus
Klaus

Geändert von Klaus01 (15. Apr 2014 um 13:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 13:01
Vielleicht als Grundlage noch das hier: https://hilfe.gmx.net/sicherheit/ssl.html

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#4

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 13:36
Bei meinem MailClient (TheBat) habe ich als
SMTP Server: mail.gmx.net
Port: 465
Connection: Secure to dedicated port (TLS)
Dito (und dito zu The Bat! ).

Zitat:
Use "POP before SMTP" authentication ist bei mir noch enabled.
Ob das bei TLS zwingend sein muss- weiß ich nicht.
Ist bei mir nicht aktiviert, ist also nicht nötig. (Wäre bei mir auch gar nicht möglich, wegen POPFile als lokalem Spamfilter-Proxy.)

MfG Dalai
  Mit Zitat antworten Zitat
Schlingel

Registriert seit: 15. Feb 2003
Ort: Österreich
67 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 15:13
Hallo

@Dalai, Klausi

- Ich kenne "TheBat" nicht...
Ich möchte im Grunde genommen nur den o.a. Code wieder mit gmx zum laufen bringen.
Ob Port 587 oder Port 465 ist egal (immer die gleiche Fehlermeldung/ ~Authentifizierung nicht erfolgreich)


@Sherlock

- Dieses Dokument hatte ich schon studiert aber ich konnte nicht rausfinden wie ich dies in Delphi/Indy umsetzte.


Fact ist aber dass der o.a. Code mehrere Jahre ohne Probleme funktionierte bzw. auch heute mit gmail funktioniert. Erst mit der SSL/TSL Umstellung ging es mit gmx nicht mehr.

Vielleicht gibt es doch noch einen Experten für Verschlüsselung-, Indy und Delphi Kenntnissen?


Falls jemand ein gmx-Konto hat würde das Programm im Anhang (bzw. der Log im Memo) Licht ins Dunkel bringen?


Schlingel
  Mit Zitat antworten Zitat
DateTimeError
(Gast)

n/a Beiträge
 
#6

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 15:24
ssl.SSLOptions.Method := sslvSSLv23; funktioniert bei mir mit GMX.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 16:31
Davon abgesehen, dürfen

msg.From.Text :='';
msg.From.Name := '';
msg.From.Address := '';

nicht leer sein.
  Mit Zitat antworten Zitat
Schlingel

Registriert seit: 15. Feb 2003
Ort: Österreich
67 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 17:13
Danke, Danke.....

einzig diese Zeile fehlte für "gmx":

msg.From.Address := smtp.Username;


Diese Einstellungen funktionieren beide:


ssl.SSLOptions.Method := sslvTLSv1;
ssl.SSLOptions.Method := sslvSSLv23;

Diese beiden Einstellungen sind optional(können eingetragen werden / müssen aber nicht ausgefüllt werden)


msg.From.Text :='';
msg.From.Name := '';

Ich habe mich auf die falsche Fährte führen lassen.... da es bei "gmail" ohne ging.

Danke für die Hilfe

Schlingel
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#9

AW: Bringe email an gmx nicht zum laufen...

  Alt 15. Apr 2014, 17:55
Danke für das Feedback!
  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 21:05 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