Ich benutze TIDimap4 Object bzw. Override diese um mein eigenen E-Mail Client zu erstellen.
Ich komme soweit klar meine eigenen Methoden usw. zu schreiben für mein Eigenes E-Mail-Client-Komponentchen.
Aber bin wirklich voll am rätseln wie ich ".messages" (was die gesamtanzahl der Messages der ausgewälten Mailbox ausgibt) hinter ".Mailbox" bringen kann (also die .Mailbox procedur mit .messages function verschachteln)...
Kann doch nicht sein das des so kompliziert ist um sowas wie das hier hinzukriegen ?
Delphi-Quelltext
1:
| MeinEmailclient.Mailbox['INBOX'].Messages |
aber wie gesagt, hab probleme das so hinzukriegen... ich kanns getrennt machen ja, aber hab eigentlich vor eben das alles zu verschachteln das man am schluss ganz leicht mit nur paar zeilen code nen Email/Client schreiben kann.
Hier mal der gesammte Code:
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:
| unit WOEMailClient;
interface
uses SysUtils, Classes, IdIMAP4, dialogs;
type TWOEMailClient = class(TComponent) private vIdIMAP4: TIdIMAP4; vUsername: String; vPassword: String; vServerIP: String; vPort: Integer; vOnConnected: TNotifyEvent; vOnDisconnected: TNotifyEvent; protected public procedure Connect; procedure Disconnect; function Connected: Boolean; procedure MailBox(ChooseMailBox: String); function Messagecount: LongInt; constructor Create(aOwner: TComponent); override; destructor Destroy; override; published property Username: string read vUsername write vUsername; property Password: string read vPassword write vPassword; property ServerIP: string read vServerIP write vServerIP; property Port: Integer read vPort write vPort default 143; property OnConnected: TNotifyEvent read vOnConnected write vOnConnected; property OnDisconnected: TNotifyEvent read vOnDisconnected write vOnDisconnected; end;
procedure Register;
implementation
procedure Register; begin RegisterComponents('War Office (new)', [TWOEMailClient]); end;
constructor TWOEMailClient.Create(aOwner: TComponent); begin inherited Create(aOwner); vIdIMAP4:= TIdIMAP4.Create(nil); vPort:= 143; end;
destructor TWOEMailClient.Destroy; begin if vIdIMAP4.Connected then vIdIMAP4.Disconnect; inherited Destroy; end;
procedure TWOEMailClient.Connect; begin vidimap4.Port := vport; vidimap4.Username := vusername; vidimap4.Password := vpassword; vidimap4.Host := vServerIP; vidimap4.Connect; end;
function TWOEMailClient.Connected: Boolean; begin result:= vidimap4.Connected; end;
procedure TWOEMailClient.Disconnect; begin if vidimap4.Connected then begin vidimap4.Disconnect; showmessage('Verbindung abgebrochen'); end; end;
procedure TWOEMailClient.Mailbox(ChooseMailBox: String); begin vidimap4.SelectMailBox(ChooseMailBox); end;
function TWOEMailClient.Messagecount: LongInt; begin result := vidimap4.MailBox.TotalMsgs; end;
end. |
Moderiert von
Klabautermann: Code durch Delphi-Tags ersetzt.