| Autor |
Beitrag |
Akut-Programming
      
Beiträge: 69
WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
|
Verfasst: Mo 18.08.03 12:31
Ma noch n Thread von mir!
Hab jetzt herausgefunden, warum ich keine Verbindung zum smtp Server bekomme. Ich muss noch über n Proxy kommen. Nur leider hab ich bei meinen Indy9 Kompos keine Proxy Komponente gefunden. Gibts die Möglichkeit mit den Indys überhaupt!?
_________________ Gruß,
Akut - Programming
Zuletzt bearbeitet von Akut-Programming am Di 19.08.03 10:47, insgesamt 1-mal bearbeitet
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Mo 18.08.03 21:52
Sprech doch den Proxy direkt statt dem SMTP Server an.
grez
msch
|
|
Akut-Programming 
      
Beiträge: 69
WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
|
Verfasst: Di 19.08.03 07:48
Moin!
| MSCH hat folgendes geschrieben: | Sprech doch den Proxy direkt statt dem SMTP Server an.
|
Wie meinst du das? So wie ich das jetzt verstehe, meinst du ich sollte anstatt den SMTP Server über den die Mails versendet werden sollen (in meinem Fall sollte dies über GMX geschehen), den Proxy einzutragen?
Mein Anliegen:
Ich will ein Programm schreiben, das die Mails des internen Mailservers abholt und diese dann über einen anderen account (z.B. GMX) wieder versendet. DAS MUSS DOCH MÖGLICH SEIN
_________________ Gruß,
Akut - Programming
|
|
Akut-Programming 
      
Beiträge: 69
WinXP, Win2000
Delphi 7 Enterprise, Delphi 5 Prof.
|
Verfasst: Di 19.08.03 09:09
Also hab da jetzt ma noch n bissl probiert! Aber es will nich so wie ich will. Ich hab mir ma n bissl Code..da könnters euch ma angucken!
unit1---> Zeigt Startfenster und führt ersten durchlauf aus
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63:
| uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) ed_start: TButton; ed_end: TButton; Label1: TLabel; procedure ed_startClick(Sender: TObject); procedure ed_endClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.DFM}
procedure TForm1.ed_startClick(Sender: TObject); var i: integer; begin Form2.Show; Form1.Hide;
Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'Anwendung gestartet'); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt');
Form2.IdPOP31.Connect; Form2.Label3.Caption:=IntToStr(Form2.IdPOP31.CheckMessages);
Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'Neue Mails: '+IntToStr(Form2.IdPOP31.CheckMessages)+''); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt');
for i:=0 to Form2.IdPOP31.CheckMessages do begin Form2.IdPOP31.Retrieve(i, Form2.IdMessage1); Form2.IdSMTP1.Connect; try form2.IdSMTP1.Send(Form2.IdMessage1); finally form2.IdSMTP1.Disconnect; Form2.Timer1.Enabled:=True; end; end; end;
procedure TForm1.ed_endClick(Sender: TObject); begin Form1.Close; end; |
unit2---> Prog Arbeitet nun durch Timer in gewissen Zeitabständen
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103:
| uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, IdMailBox, IdBaseComponent, IdNetworkCalculator, StdCtrls, ExtCtrls, IdMessage, IdSMTP, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdPOP3, IdIntercept, IdLogBase, IdLogFile, IdMessageCoder, IdMessageCoderMIME, IdAntiFreezeBase, IdAntiFreeze, IdHTTP, ScktComp; type TForm2 = class(TForm) Label1: TLabel; ed_logfile: TButton; ed_beenden: TButton; IdPOP31: TIdPOP3; IdSMTP1: TIdSMTP; IdMessage1: TIdMessage; Bevel1: TBevel; Label2: TLabel; Label3: TLabel; Label4: TLabel; IdAntiFreeze1: TIdAntiFreeze; Timer1: TTimer; procedure ed_logfileClick(Sender: TObject); procedure ed_beendenClick(Sender: TObject); procedure IdPOP31Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); procedure IdSMTP1Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); procedure Timer1Timer(Sender: TObject); private public end;
var Form2: TForm2;
implementation
uses Unit1, Unit3;
{$R *.DFM}
procedure TForm2.ed_logfileClick(Sender: TObject); begin Form3.Show; end;
procedure TForm2.ed_beendenClick(Sender: TObject); begin IdPOP31.Disconnect; IdSMTP1.Disconnect; Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'Anwendung beendet'); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt'); Form1.Close; end;
procedure TForm2.IdPOP31Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); begin Label4.Caption:=AStatusText; Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'pop3 - Status: '+AStatusText+''); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt'); end;
procedure TForm2.IdSMTP1Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); begin Label4.Caption:=AStatusText; Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'SMTP - Status: '+AStatusText+''); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt'); end;
procedure TForm2.Timer1Timer(Sender: TObject); var i:integer; begin IdPOP31.Disconnect; IdPOP31.Connect; Label3.Caption:=IntToStr(Form2.IdPOP31.CheckMessages);
Form3.Memo1.Lines.Add(DateToStr(Now)+' '+TimeToStr(NOW)+' '+'Neue Mails: '+IntToStr(Form2.IdPOP31.CheckMessages)+''); Form3.Memo1.Lines.Add(''); Form3.Memo1.Lines.SaveToFile('logfile.txt');
for i:=0 to IdPOP31.CheckMessages do begin IdPOP31.Retrieve(i, IdMessage1); IdSMTP1.Connect; try IdSMTP1.Send(IdMessage1); finally IdSMTP1.Disconnect; end; end; end; |
------------------------------------------------------------------------
Wenn ich dies so mache, bekomme ich da ich über einen Proxy muss, immer die Meldung "Connection Timeout". Versteht ihr mein Anliegen? Liege ich mit dem Source daneben???
_________________ Gruß,
Akut - Programming
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Di 19.08.03 20:29
ich glaube hier fehlt noch etwas verständnis, was ein Proxy macht. Ein SMTP-Proxy arbeitet genauso wie ein HTTP Proxy, sprich der Webbrowser fordert seine Seiten vom Proxy und nicht von der eigentlichen URL ab. Das besorgt der Proxy. Genauso verhält es sich mit einem SMTP Proxy (kann auch als Relay und Filter missbraucht werden). der Client fordert nicht mehr direkt beim Zielhost an, sondern via Proxy.
grez
msch
|
|
|