Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SMTP bei web.de funktioniert nicht (https://www.delphipraxis.net/164411-smtp-bei-web-de-funktioniert-nicht.html)

Stread 10. Nov 2011 23:50

SMTP bei web.de funktioniert nicht
 
Hi,
ich kann mit meinem Programm schon E-Mails über Googlemail versenden.
Wie von Gmail gewünscht über Auth SMTP und TLS. in Delphi IdSSLIOHandlerSocketOpenSSL1

Wenn ich das gleiche nun bei web.de probiere scheitere ich an einem SMTPReplyError mit der Meldung Sytax Error und es stoppt vor SMTP1.Send
Ich habe aus älteren Threads gelesen dass man sich mit Pop3 Authentifizieren soll.
Ich kenne mich da nicht so aus und habe mal was probiert aber damit hängt sich mein Programm auf und das Pop3 Disconnected anscheinend nicht mehr.

Delphi-Quellcode:
begin
 SmtpServerName:=FormServ.Edit1.Text;
 SmtpServerPort:=StrToInt(FormServ.Edit2.Text);
 SmtpServerUser:=FormServ.Edit3.Text;
 SmtpServerPassword:=FormServ.Edit4.Text;
 UserEmail:=Self.Edit5.Text;
 UserName:=FormServ.Edit6.Text;
 Betreff:=Self.Edit7.Text;
 Eigenemail:= FormServ.Edit9.Text;
 CC:=Self.Edit4.Text;
 BCC:=Self.Edit9.Text;

 Pop3Port:=StrToInt(FormServ.Edit5.Text);
 Pop3ServerName:=FormServ.Edit7.Text;

IdPop31.Username:=SmtpServerUser;
idpop31.Password :=SmtpServerPassword;
idpop31.Port :=Pop3Port;
idpop31.Host :=Pop3ServerName;
try
IdPop31.Connect;
except
 ShowMessage ('Es ist ein Fehler aufgetreten');
end;
//IdPop31.Disconnect;

 IdSMTP1.Host := SmtpServername;
 IdSMTP1.Port := SmtpServerPort;
 IdSMTP1.Username := SmtpServerUser;
 IdSMTP1.Password := SmtpServerPassword;
 IdSMTP1.Connect;

 IdMessage1.From.Name := UserName;
 IdMessage1.From.Address:=SmtpServerUser;
 IdMessage1.Recipients.Add.Address := UserEmail;
 IdMessage1.ReplyTo.Add.Address := EigeneMail;
 Idmessage1.CCList.EMailAddresses:= CC;
 IdMessage1.BccList.EMailAddresses:=BCC;
 IdMessage1.Subject := Betreff;
 IdMessage1.Body.Assign(Memo1.Lines);

begin
if RadioButton1.Checked then
begin
IdMessage1.Priority:=mpNormal;
end
else
IdMessage1.Priority:= mpHigh;
 end;
  try
 IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
    //IdPop31.Disconnect;
  end;
  Idmessage1.Clear;
  application.MessageBox('Erfogreich','Ergebnis!');
end;
Ohne IdPop31.connect; funktioniert wieder alles.

Stread 23. Nov 2011 00:41

AW: SMTP bei web.de funktioniert nicht
 
Anscheinend weiß niemand was?

franktron 23. Nov 2011 09:12

AW: SMTP bei web.de funktioniert nicht
 
Das mit POP before SMTP ist nicht nötig wenn du SMTP Auth nimmst.

Das mit dem Fehler ist komisch vor allem das es vor SMTP.Send kommt

Stread 23. Nov 2011 13:20

AW: SMTP bei web.de funktioniert nicht
 
Mit diesem Code klappt es mit GMail und GMX, Hotmail und Yahoo haben andere Authentication Fehler, aber da verstehe ich den Fehler wenigstens.
Bei web.de kommt immer der Syntax error in Parameters or Argument Fehler. Bild ist unten verlinkt.

Einstellungen von IdSMTP1
UseTLS: utUseRequireTLS ; IOHandler: IdSSLIOHandlerSocketOpenSSL1
IdSSLIOHandlerSocketOpenSSL1 ist auf Port 110

Delphi-Quellcode:
//SENDEN
procedure TFormMain.Senden1Click(Sender: TObject);
begin
SmtpServerName:=FormServ.Edit1.Text;
SmtpServerPort:=StrToInt(FormServ.Edit2.Text);
SmtpServerUser:=FormServ.Edit3.Text;
SmtpServerPassword:=FormServ.Edit4.Text;
UserEmail:=Self.Edit5.Text;
UserName:=FormServ.Edit6.Text;
Betreff:=Self.Edit7.Text;
Eigenemail:= FormServ.Edit9.Text;
CC:=Self.Edit4.Text;
BCC:=Self.Edit9.Text;



 IdSMTP1.Host := SmtpServername;
 IdSMTP1.Port := SmtpServerPort;
 IdSMTP1.Username := SmtpServerUser;
 IdSMTP1.Password := SmtpServerPassword;
 IdSMTP1.Connect;

 IdMessage1.From.Name := UserName;
 IdMessage1.From.Address:=SmtpServerUser;
 IdMessage1.Recipients.Add.Address := UserEmail;
 IdMessage1.ReplyTo.Add.Address := EigeneMail;
 Idmessage1.CCList.EMailAddresses:= CC;
 IdMessage1.BccList.EMailAddresses:=BCC;
 IdMessage1.Subject := Betreff;
 IdMessage1.Body.Assign(Memo1.Lines);  //Was soll ich senden?

begin
if RadioButton1.Checked then
begin
IdMessage1.Priority:=mpNormal;
end
else
IdMessage1.Priority:= mpHigh;
 end;
  try
 IdSMTP1.Send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
  Idmessage1.Clear;
 application.MessageBox('Erfogreich','Ergebnis!');

end;

Fehler beim Abschicken mit der web.de Adresse
web.de SMTP Servername und Passwort ist richtig, Outlook getestet.

franktron 23. Nov 2011 14:00

AW: SMTP bei web.de funktioniert nicht
 
Also der Fehler sagt das was von Web.de zurückkommt was idsmtp nicht versteht.

Ich würde das ganze mal ohne SSL versuchen, und der SMTP Port ist 25 und nicht 110

Stread 23. Nov 2011 16:12

AW: SMTP bei web.de funktioniert nicht
 
Ich habe das ganze jetzt mal mit einer neuen IdSMTP Komponenente ausprobiert. Ohne SSl oder TLS
Mit Port 587 und 25
Gleicher Fehler

Den Port 110 habe ich nur bei der Komponente IdSSLIOHandlerSocketOpenSSL1 als SSL Port angegeben.
Aber bei der neuen Komponente IdSMTP2 habe ich SSL ja mal ganz weggelassen, trotzdem gleicher Fehler.

Soll ich mal das ganze Projekt hier Uploaden?

Stread 2. Dez 2011 15:13

AW: SMTP bei web.de funktioniert nicht
 
*push*
Anscheinend gibt es keine Lösung dazu.

Luckie 2. Dez 2011 15:51

AW: SMTP bei web.de funktioniert nicht
 
Schon mal probiert erst mit POP3 sich anzumelden und dann ganz normal mit SMTP versucht Mails zu verschicken auf den Standardport?

Sir Rufo 2. Dez 2011 16:11

AW: SMTP bei web.de funktioniert nicht
 
Wenn ich mir so die Einstellungen bei web.de ansehe, dann kann das wohl auch so nicht funktionieren:
Code:
SMTP-Port: 587 und SSL

Sir Rufo 2. Dez 2011 16:39

AW: SMTP bei web.de funktioniert nicht
 
Klappt alles einwandfrei mit web.de, wenn es richtig eingestellt ist
Delphi-Quellcode:
object IdSMTP1: TIdSMTP
  IOHandler = IdSSLIOHandlerSocketOpenSSL1
  Host = 'smtp.web.de'
  Password = '***password***'
  Port = 587
  SASLMechanisms = <>
  UseTLS = utUseRequireTLS
  Username = '***email-address***'
  Left = 80
  Top = 72
end
Den SSL-IO-Handler braucht man nur auf die Form klatschen und an die IdSMTP-Komponente hängen, die Einstellungen werden automatisch angepasst und sollten dann so aussehen:
Delphi-Quellcode:
object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
  Destination = 'smtp.web.de:587'
  Host = 'smtp.web.de'
  MaxLineAction = maException
  Port = 587
  DefaultPort = 0
  SSLOptions.Mode = sslmUnassigned
  SSLOptions.VerifyMode = []
  SSLOptions.VerifyDepth = 0
  Left = 200
  Top = 88
end
und hier der Code um die Nachricht zu versenden:
Delphi-Quellcode:
procedure TForm1.Button1Click( Sender : TObject );
begin
  IdSMTP1.Connect;
  try
    if IdSMTP1.Authenticate
    then
      IdSMTP1.Send( IdMessage1 );
  finally
    IdSMTP1.Disconnect( True );
  end;
end;
//EDIT:

Man muss natürlich die Indy-Kompatiblen-OpenSSL-Bibliotheken im Anwendungs-Verzeichnis oder irgendwo im Pfad haben, sonst geht schon mal gar nichts


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.
Seite 1 von 3  1 23      

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