MailServer.rtf 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. {\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1031\deflangfe1031{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
  2. {\f35\fswiss\fcharset128\fprq2{\*\panose 020b0604020202020204}Arial Unicode MS;}{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f37\fnil\fcharset2\fprq0{\*\panose 00000000000000000000}StarSymbol{\*\falt Arial Unicode MS};}
  3. {\f61\fswiss\fcharset128\fprq2{\*\panose 020b0604020202020204}@Arial Unicode MS;}{\f213\froman\fcharset238\fprq2 Times New Roman CE;}{\f214\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f216\froman\fcharset161\fprq2 Times New Roman Greek;}
  4. {\f217\froman\fcharset162\fprq2 Times New Roman Tur;}{\f218\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f219\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f220\froman\fcharset186\fprq2 Times New Roman Baltic;}
  5. {\f221\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f223\fswiss\fcharset238\fprq2 Arial CE;}{\f224\fswiss\fcharset204\fprq2 Arial Cyr;}{\f226\fswiss\fcharset161\fprq2 Arial Greek;}{\f227\fswiss\fcharset162\fprq2 Arial Tur;}
  6. {\f228\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f229\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f230\fswiss\fcharset186\fprq2 Arial Baltic;}{\f231\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f565\fswiss\fcharset0\fprq2 Arial Unicode MS Western;}
  7. {\f563\fswiss\fcharset238\fprq2 Arial Unicode MS CE;}{\f564\fswiss\fcharset204\fprq2 Arial Unicode MS Cyr;}{\f566\fswiss\fcharset161\fprq2 Arial Unicode MS Greek;}{\f567\fswiss\fcharset162\fprq2 Arial Unicode MS Tur;}
  8. {\f568\fswiss\fcharset177\fprq2 Arial Unicode MS (Hebrew);}{\f569\fswiss\fcharset178\fprq2 Arial Unicode MS (Arabic);}{\f570\fswiss\fcharset186\fprq2 Arial Unicode MS Baltic;}{\f571\fswiss\fcharset163\fprq2 Arial Unicode MS (Vietnamese);}
  9. {\f572\fswiss\fcharset222\fprq2 Arial Unicode MS (Thai);}{\f573\fswiss\fcharset238\fprq2 Tahoma CE;}{\f574\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f576\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f577\fswiss\fcharset162\fprq2 Tahoma Tur;}
  10. {\f578\fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f579\fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f580\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f581\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f582\fswiss\fcharset222\fprq2 Tahoma (Thai);}
  11. {\f825\fswiss\fcharset0\fprq2 @Arial Unicode MS Western;}{\f823\fswiss\fcharset238\fprq2 @Arial Unicode MS CE;}{\f824\fswiss\fcharset204\fprq2 @Arial Unicode MS Cyr;}{\f826\fswiss\fcharset161\fprq2 @Arial Unicode MS Greek;}
  12. {\f827\fswiss\fcharset162\fprq2 @Arial Unicode MS Tur;}{\f828\fswiss\fcharset177\fprq2 @Arial Unicode MS (Hebrew);}{\f829\fswiss\fcharset178\fprq2 @Arial Unicode MS (Arabic);}{\f830\fswiss\fcharset186\fprq2 @Arial Unicode MS Baltic;}
  13. {\f831\fswiss\fcharset163\fprq2 @Arial Unicode MS (Vietnamese);}{\f832\fswiss\fcharset222\fprq2 @Arial Unicode MS (Thai);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;
  14. \red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
  15. {\stylesheet{\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe255\loch\f0\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
  16. \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
  17. \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\sa120\nowidctlpar\faauto\rin0\lin0\itap0
  18. \fs24\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 \sbasedon0 \snext15 Body Text;}{\s16\ql \li0\ri0\sa120\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255
  19. \sbasedon15 \snext16 List;}{\s17\ql \li0\ri0\sb120\sa120\nowidctlpar\faauto\rin0\lin0\itap0 \i\fs20\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 \sbasedon0 \snext17 \ssemihidden caption;}{
  20. \s18\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 \sbasedon0 \snext18 Index;}{\s19\ql \li0\ri0\sb120\sa120\nowidctlpar\faauto\rin0\lin0\itap0
  21. \i\fs20\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 \sbasedon0 \snext19 Formatvorlage;}{\s20\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1031\langfe255\loch\f36\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255
  22. \sbasedon0 \snext20 Formatvorlage1;}{\*\cs21 \additive \lang0\langfe255\langfenp255 Numbering Symbols;}{\*\cs22 \additive \f37\fs18\lang0\langfe255\langfenp255 Bullet Symbols;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable
  23. {\list\listtemplateid1{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
  24. \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li1080\lin1080 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
  25. \'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li1800\lin1800 }{\listlevel
  26. \levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
  27. \levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li2520\lin2520 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18
  28. \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li3240\lin3240 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
  29. \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'95;}{\levelnumbers;}\f37\fs18 \fi-360\li3600\lin3600 }{\listname ;}\listid1}}{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}{\*\rsidtbl \rsid2426070}{\*\generator Mi
  30. crosoft Word 11.0.6359;}{\info{\author J\'f6rg Meier}{\operator J\'f6rg Meier}{\creatim\yr2005\mo6\dy26\hr13\min24}{\revtim\yr2005\mo12\dy5\hr14\min48}{\printim\yr2113\mo1\dy1}{\version2}{\edmins0}{\nofpages2}{\nofwords693}{\nofchars4372}
  31. {\*\company Software - Entwicklung}{\nofcharsws5055}{\vern24703}}\paperw11905\paperh16837\margl1134\margr1134\margt1134\margb1134
  32. \deftab709\widowctrl\ftnbj\aenddoc\hyphhotz425\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\nolnhtadjtbl\rsidroot2426070
  33. \fet0\sectd \sbknone\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4
  34. \pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}
  35. {\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \qc \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0
  36. \fs24\lang1031\langfe255\loch\af0\hich\af0\dbch\af35\cgrid\langnp1031\langfenp255 {\b\f1\fs36\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af1\dbch\af35\loch\f1 What is a Mailserver Good for?
  37. \par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  38. \par \hich\af0\dbch\af35\loch\f0 Hmmm... }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Good}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 \hich\f0
  39. question... My internet provider obviously has got a mailserver (or I wouldn't be able to send and receive mail) , all the people's internet providers that send mail to me obviously have got one either and that f*\'b3\loch\f0 \hich\f0 @\'80\loch\f0
  40. bunch of spammers dropping\hich\af0\dbch\af35\loch\f0 me their unwanted ads must have got one as well, so why should I have one?}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  41. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  42. \par \hich\af0\dbch\af35\loch\f0 To tell you the truth, you do not need one.}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  43. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 But if you've got one running, it can make some things easier for you.
  44. \par
  45. \par \hich\af0\dbch\af35\loch\f0 Another point to have an own mailserver for is: you (yes, right\hich\af0\dbch\af35\loch\f0 ! \hich\af0\dbch\af35\loch\f0 Just you!) are obviously someone who is interested in programming. \hich\af0\dbch\af35\loch\f0
  46. Let it be your job or just your passion, but you are interested in (or you wouldn't have read that far). \hich\af0\dbch\af35\loch\f0 Are you tired of programming 'Hello world's or }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  47. \hich\af0\dbch\af35\loch\f0 Eratosthenes}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 sieves? \hich\af0\dbch\af35\loch\f0 Databases are\hich\af0\dbch\af35\loch\f0
  48. not frightening you anymore? Stumbled over Indy and want to know what you can do with it? \hich\af0\dbch\af35\loch\f0 Fine, you'll see!}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  49. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  50. \par \hich\af0\dbch\af35\loch\f0 Now, if you've got a mailserver, what can you do with it?}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  51. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  52. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 I'll give you an \hich\af0\dbch\af35\loch\f0 idea}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 :}{
  53. \lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  54. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  55. \par }{\lang2057\langfe255\langnp2057\insrsid2426070 \hich\af0\dbch\af35\loch\f0 I must admit}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 , due to my strong relations to computers, my hom
  56. \hich\af0\dbch\af35\loch\f0 e may look a bit over-computerized compared to the 'normal' user's home: Three in my (small) office, one in the living-room, one for my wife and another one for the twins, all connected in a LAN.}{
  57. \lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  58. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 So what if I'd like to see in the living-room whether there \hich\af0\dbch\af35\loch\f0 has arrived some mail for my office? \hich\af0\dbch\af35\loch\f0
  59. Speaking in terms of 'Microsoft Outlook' (regardless of express or not) that would turn out to be something rather difficult, especially when it comes to the answering of mail and (probably later, when the weekend is ov\hich\af0\dbch\af35\loch\f0
  60. er) printing and }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 archiving}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 the }{
  61. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 correspondence}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 to the }{
  62. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 appropriate}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 customer's file.
  63. \par \hich\af0\dbch\af35\loch\f0 This is a scenario where an own mailserver drops in: Hail Super(post)man! \hich\af0\dbch\af35\loch\f0 It can frequently check all the mailboxes (every member of the family runs an own account) and colle
  64. \hich\af0\dbch\af35\loch\f0 ct the letters, check }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 for}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0
  65. virus/trojans/worms and other malware (rather: have the mail checked, I do not want to write malware-scanners!) and can start to distribute the incoming mail into the mailboxes: one for me, one for the twins, 34 for spam....
  66. \par \hich\af0\dbch\af35\loch\f0 Now \hich\af0\dbch\af35\loch\f0 all the mails are stored within my very own network and with the help of a mailclient I could access any mail from any computer.
  67. \par
  68. \par \hich\af0\dbch\af35\loch\f0 So much for the fiction, now let's get it divided into functional parts }{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  69. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  70. \par \hich\af0\dbch\af35\loch\f0 What do we need to do that job?}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  71. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Well, at first we n\hich\af0\dbch\af35\loch\f0 eed some places to store each }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  72. \hich\af0\dbch\af35\loch\f0 individual\hich\f0 \rquote \loch\f0 s}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 mails in, }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  73. \hich\af0\dbch\af35\loch\f0 separated}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 from each other ones. \hich\af0\dbch\af35\loch\f0 The word for this is '}{
  74. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Mailbox}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0
  75. ' and the simplest data-structure to realize its functionality would be a 'Folder' or 'Directory' whatever name you prefer.
  76. \par \hich\af0\dbch\af35\loch\f0 Mail we are going\hich\af0\dbch\af35\loch\f0 to receive and send will be processed by other programs we do not know of. \hich\af0\dbch\af35\loch\f0 So we should save our mail in an }{
  77. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 independent}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 format. \hich\af0\dbch\af35\loch\f0
  78. I will name this format 'Raw' and let it represent an individual mail that could be received by ANY mail-program that behaves l\hich\af0\dbch\af35\loch\f0 ike a normal mail-program does.
  79. \par \hich\af0\dbch\af35\loch\f0 When it comes to looking at the received mails, we need a program that shows us the contents on the screen, or rather: this is the very minimum a program of this }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  80. \hich\af0\dbch\af35\loch\f0 category}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 should perform. \hich\af0\dbch\af35\loch\f0 It is named 'Mail Client' as opposit\hich\af0\dbch\af35\loch\f0
  81. e to our 'Server'. \hich\af0\dbch\af35\loch\f0 Surely, you've got one, so we don't need yet to write one too.
  82. \par
  83. \par \page \hich\af0\dbch\af35\loch\f0 We need the functionality to communicate with our Mail-Client on one side and to communicate with our provider's Mail-Server on the other side to exchange the mails.}{
  84. \lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  85. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Fortun\hich\af0\dbch\af35\loch\f0 ally Indy drops in here providing us with the }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  86. \hich\af0\dbch\af35\loch\f0 necessary}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 functionality}{
  87. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 :
  88. \par \hich\af0\dbch\af35\loch\f0 Indy has got components we will use here for
  89. \par {\listtext\pard\plain\fs18\lang1031\langfe255\loch\af37\hich\af37\dbch\af35\langfenp255 \loch\af37\dbch\af35\hich\f37 \'95\tab}}\pard \ql \fi-360\li1429\ri0\nowidctlpar\faauto\ls1\rin0\lin1429\itap0 {\insrsid2426070 \hich\af0\dbch\af35\loch\f0 POP3
  90. \hich\f0 \endash \loch\f0 Mailservers\tab (TIdPop3Server)
  91. \par {\listtext\pard\plain\fs18\lang1031\langfe255\loch\af37\hich\af37\dbch\af35\langfenp255 \loch\af37\dbch\af35\hich\f37 \'95\tab}\hich\af0\dbch\af35\loch\f0 POP3 \hich\f0 \endash \loch\f0 Mailclients\tab (TIdPOP3Client)
  92. \par {\listtext\pard\plain\fs18\lang1031\langfe255\loch\af37\hich\af37\dbch\af35\langfenp255 \loch\af37\dbch\af35\hich\f37 \'95\tab}\hich\af0\dbch\af35\loch\f0 SMTP \hich\f0 \endash \loch\f0 Servers\tab (TIdSMTPServer)
  93. \par {\listtext\pard\plain\fs18\lang1031\langfe255\loch\af37\hich\af37\dbch\af35\langfenp255 \loch\af37\dbch\af35\hich\f37 \'95\tab}\hich\af0\dbch\af35\loch\f0 SMTP \hich\f0 \endash \loch\f0 Clients \tab (TIdSmtpClient)
  94. \par }\pard \ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 {\insrsid2426070
  95. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Mail is sent }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 from}{
  96. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 a client to a server with SMTP (}{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 S}{
  97. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 imple }{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 M}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  98. \hich\af0\dbch\af35\loch\f0 ail }{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 T}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 ransport }{
  99. \b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 P}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 rotocol) and is received with POP3 (}{
  100. \b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 P}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 ost }{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  101. \hich\af0\dbch\af35\loch\f0 O}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 ffice }{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 P}{
  102. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 rotocol number}{\b\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 3}{
  103. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 ) which are two widely used }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 standard}{
  104. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 although}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  105. \hich\af0\dbch\af35\loch\f0 there are enhancements which can do better some of the required jobs.\hich\af0\dbch\af35\loch\f0 \hich\af0\dbch\af35\loch\f0 Indy has got components for those too, but at first we will stick to the easier ones.}{
  106. \lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  107. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0
  108. The above Indy-components will make the job to be done much easier, so we could put aside the (very complicated) part of communicating and -as you will see in the exampl\hich\af0\dbch\af35\loch\f0
  109. es- we just have to put into the right places our needs for the execution of some simple commands.
  110. \par
  111. \par \hich\af0\dbch\af35\loch\f0 We need to save information concerning the mailboxes at our provider (like account names and passwords) and some information for the mailboxes on our local \hich\af0\dbch\af35\loch\f0 mail-server (}{
  112. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 account names}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 to identify the family member, passwords and the }{
  113. \lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 folder name}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 to store the mails in). \hich\af0\dbch\af35\loch\f0
  114. This could be done with a simple .ini \hich\f0 \endash \loch\f0 file or with something as complicated as a small database. \hich\af0\dbch\af35\loch\f0 I'll }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 le}{
  115. \lang2057\langfe255\langnp2057\insrsid2426070 \hich\af0\dbch\af35\loch\f0 a}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 ve}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070
  116. \hich\af0\dbch\af35\loch\f0 this for your own taste, in this exam\hich\af0\dbch\af35\loch\f0 ple I'll just cover Indy, not databases.}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  117. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 Well, that's all we need, so you we can start right off. \hich\af0\dbch\af35\loch\f0
  118. The example covers the pure basics of a mail-server so far and it will help you to implement whatever you want to do. \hich\af0\dbch\af35\loch\f0 Feel free to use it (at your own risk, a\hich\af0\dbch\af35\loch\f0 s usual) for private or commercial use.
  119. \hich\af0\dbch\af35\loch\f0 Do not forget to }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 fulfil}{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0
  120. the Indy licence agreement, which is really easy to be done.
  121. \par
  122. \par \hich\af0\dbch\af35\loch\f0 Happy coding}{\lang2057\langfe255\loch\af36\langnp2057\insrsid2426070\charrsid2426070
  123. \par }{\lang2057\langfe255\langnp2057\insrsid2426070\charrsid2426070 \hich\af0\dbch\af35\loch\f0 \hich\f0 J\'f6\loch\f0 rg Meier (Bob)
  124. \par \hich\af0\dbch\af35\loch\f0 [email protected]
  125. \par
  126. \par }}