19. maj 2001 - 18:42
Der er
5 kommentarer
Unit/klasse til håndtering af emails (ikke DB) på disk?
Hej. Jeg er ved at lave en emailklient, men mangler en måde at gemme/hente informationer om de enkelte emails på harddisken. Emails\'ene skal være i een enkelt fil for hver box (inbox, outbox etc). Nogen ideer (fuld kode...)?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
TYPE TMyEmail = record Felt1 : String; Felt2 : Integer; end; VAR Buf : TMyMail; F : File of TMyMail; begin AssignFile(F,\'Inbox.dat\'); Writeln(F,Buf); // ReadLn(F,Buf); CloseFile(F); end;
Ja, i princippet _kunne_ man måske godt benytte noget lignende og indkapsle det i en klasse med en tilhørende TList og indlæse _alle_ oplysninger om emails\'ene. Men, jeg mangler _hele_ emails og ikke kun nogle enkelte oplysninger. ;-)
Så gå ind i hjælpen til Netmaster\'s POP3 component og kig på properti\'es eller evt. INDY\'s POP3 comp. /Martin
fra INDY : TIdMessage = class(TIdBaseComponent) protected FBccList: TIdEmailAddressList; FBody: TStrings; FCharSet: string; FCcList: TIdEmailAddressList; FContentType: string; FContentTransferEncoding: string; FDate: TDateTime; FIsEncoded : Boolean; FExtraHeaders: TIdHeaderList; FFrom: TIdEmailAddressItem; FHeaders: TIdHeaderList; FMessageParts: TIdMessageParts; FMsgId: string; FNewsGroups: TStrings; FNoDecode: Boolean; FOrganization: string; FPriority: TIdMessagePriority; FSubject: string; FReceiptRecipient: TIdEmailAddressItem; FRecipients: TIdEmailAddressList; FReferences: string; FReplyTo: TIdEmailAddressList; FSender: TIdEMailAddressItem; FXProgram: string; public procedure AddHeader(const Value: string); procedure Clear; virtual; procedure ClearBody; procedure ClearHeader; constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure GetHeader; function GenerateHeader: TIdHeaderList; function GetUseNowForDate: Boolean; procedure SetBody(const Value: TStrings); procedure SetNewsGroups(const Value: TStrings); procedure SetExtraHeaders(const Value: TIdHeaderList); procedure SetUseNowForDate(const Value: Boolean); // property IsEncoded : Boolean read fIsEncoded write fIsEncoded; property MsgId: string read FMsgId write FMsgId; property Headers: TIdHeaderList read FHeaders; property MessageParts: TIdMessageParts read FMessageParts; published property Body: TStrings read FBody write SetBody; property BccList: TIdEmailAddressList read FBccList write FBccList; property CharSet: string read FCharSet write FCharSet; property CCList: TIdEmailAddressList read FCcList write FCcList; property ContentType: string read FContentType write FContentType; property ContentTransferEncoding: string read FContentTransferEncoding write FContentTransferEncoding; property Date: TDateTime read FDate write FDate; // property ExtraHeaders: TIdHeaderList read FExtraHeaders write SetExtraHeaders; property From: TIdEmailAddressItem read FFrom write FFrom; property NewsGroups: TStrings read FNewsGroups write SetNewsGroups; property NoDecode: Boolean read FNoDecode write FNoDecode; property Organization: string read FOrganization write FOrganization; property Priority: TIdMessagePriority read FPriority write FPriority default mpNormal; property ReceiptRecipient: TIdEmailAddressItem read FReceiptRecipient write FReceiptRecipient; property Recipients: TIdEmailAddressList read FRecipients write FRecipients; property References: string read FReferences write FReferences; property ReplyTo: TIdEmailAddressList read FReplyTo write FReplyTo; property Subject: string read FSubject write FSubject; property Sender: TIdEmailAddressItem read FSender write FSender; property UseNowForDate: Boolean read GetUseNowForDate write SetUseNowForDate; end; /Martin
Netmasters komponenter er _totalt_ ubrugelige og fyldt med fejl ... - Indy ligeså, omend en hel del bedre. Indy har bare ikke support for hverken at gemme eller hente \"rå mails\" til/fra disk. - Hvis ingen har en \"brugbar\" løsning tror jeg at jeg vil lukke spørgsmålet, da jeg har fundet en _gammel_ klasse fra FreeNet som sandsynligvis kan bruges.
Kurser inden for grundlæggende programmering