ΠΠΎ Π²ΡΠ΅Ρ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΎΡΠΌΡΠ»Ρ. ΠΠ΅ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΡΠ»Ρ, Π½Π°ΡΡΠ΄Ρ Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΠΆΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅ΡΠ²Π½ΠΎΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΡΡΡΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠΏΠ°ΠΌ-ΡΠΈΠ»ΡΡΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»ΠΈΡΠ΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡ Ρ ΡΡΠΏΠΊΠΎΡΡΠΈ. Π‘ΠΏΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΎΡΡΡΠ·Π°ΡΡΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ, Π·Π°ΡΡΠ°Π²Π»ΡΡ ΠΊΡΡΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ "ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡΡ Π² Π³ΠΎΠ½ΠΊΠ΅ Π²ΠΎΠΎΡΡΠΆΠ΅Π½ΠΈΠΉ". Π‘ΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΏΠ°ΠΌ-ΡΠΈΠ»ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΌΠΎΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ΅Π½, ΡΠ΅ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΡΠΏΠ°ΠΌ/Π½Π΅ΡΠΏΠ°ΠΌ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²Π΅ΡΠΎΠ²ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ.
Π‘ΡΠ°ΡΡΡ "A Plan for Spam" Π±ΡΠ»Π° ΠΎΡΠ΅Π»ΠΎΠΌΠ»ΡΡΡΠ΅ΠΉ Π½ΠΎΠ²ΠΎΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Π΅ Π°Π²ΡΠΎΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π³ΡΡΠ±ΡΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΡΡΡΡ Π·Π° ΡΠΏΠ°ΠΌ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΡ ΡΡ ΡΠ°ΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ΅ΠΌ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»ΠΈΡΠ΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠΈΡΡΠΌΠ°. Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΎΠ±Π»Π°Π·Π½Π° ΠΈΡΠΊΡΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊ ΡΠ»ΠΈΡΠ΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΠΌ ΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΡΠ»ΡΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ K.I.S.S.
9.1.3. Π£ΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΠΊΠ»Π°ΡΡΠΎΠ² Π² fetchmail
Π£ΡΠΈΠ»ΠΈΡΠ° fetchmailconf(1), ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ fetchmail(l), ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π΄Π°Π½Π½ΡΠΌΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.
Π ΠΎΠΊΡΡΠ±ΡΠ΅ 1997 Π³ΠΎΠ΄Π° ΡΠ΅ΡΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ fetchmail ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»Π° ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ fetchmail. Π ΡΠ°ΠΉΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π»Ρ Unix ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΏΡΠΈΡΡΡΠΏΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π ΠΠ Π ΠΈ IMAP Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·Π»Π°Ρ . ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° fetchmail ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 9.1.
Π¦Π΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ fetchmaikonf Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΊΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π° ΡΡΠΈΠ»ΡΠ½ΡΠΌ, ΡΡΠ³ΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΌ GUI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π²ΡΠ±ΠΎΡΠ°, Π±Π΅Π³ΡΠ½ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΠΌΠ°ΠΌΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ»Π°
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠ³Π»Π° Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² GUI, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Π»Π° ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΈΠΌΠ΅Ρ 9.1. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°ΠΉΠ»Π° fetchmailrc
set postmaster "esr" set daemon 300
poll imap.ccil.org with proto IMAP and options no dns aka snark.thyrsus.com locke.ccil.org ccil.org user esr there is esr here
options fetchall dropstatus warnings 3600
poll imap.netaxs.com with proto IMAP
user "esr" there is esr here options dropstatus warnings 3600
ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π΄Π»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° fetchmail ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°ΡΡ ΠΈ lex, Π΄Π²ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Unix Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘. ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ fetchmailconf ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π² ΡΠ·ΡΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ fetchmailconf β Python.
Π’Π°ΠΊΠ°Ρ ΡΠ°ΠΊΡΠΈΠΊΠ° Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° Π±Π΅ΡΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Π΄Π²ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠΈ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°ΡΡΡΠ°Π» Π±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ SPOT, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² Π³Π»Π°Π²Π΅ 4.
ΠΠ° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΡ Π±ΡΠ» ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ Π² ΡΡΠΏΠΈΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π Π°Π·ΡΠ΅ΡΠΈΠ»ΠΎ Π΅Π΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° fetchmailconf ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ fetchmail Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠ»ΡΡΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² fetchmail Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --conf igdurap, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π±Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» . fetchmailrc ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π ΡΠΠΎΠΏ-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°. ΠΠ»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ Π±Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 9.2 (Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΌΠ΅ΡΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ, ΠΎΠΏΡΡΠ΅Π½Ρ).Β ^
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΎ. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΌΠΎΠ³ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ fetchmail - - conf igdump ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ fetchmailconf ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΠΎΠΉ "fetchmail".
ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ Π±ΡΠ»ΠΎ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ. ΠΡΠ»ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ fetchmail ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π΅Π΅ Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π Π΄Π°Π½Π½ΠΎΠΌ Π΄Π΅ΡΠ΅Π²Π΅ Π±ΡΠ»ΠΎ Π±Ρ 3 Π²ΠΈΠ΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: Configuration (ΠΎΠ±ΡΠ΅ΠΊΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ), Site (ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠΏΡΠΎΡΠ°) ΠΈ User (ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ·Π»ΠΎΠΌ). Π€Π°ΠΉΠ» Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ 3 ΠΎΠ±ΡΠ΅ΠΊΡΠ° Site, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
ΠΠ°Π½Π½ΡΠ΅ 3 ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π² fetchmailconf. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π» ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ» Π΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ GUI-ΠΏΠ°Π½Π΅Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Python-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
'port':0, 'timeout':300, 'dns69:TRUE, "aka":None,
'users': [ {
"remote":"esr", "password":"masked_two", 1localnames':["esr"], 'fetchall':FALSE, 'keep':FALSE, 'flush':FALSE, "mda":None, 'limit':0, 1 warnings 1:3600,
}
1
} /
]
}
ΠΡΠΈΠΌΠ΅Ρ 9.3. ΠΠΎΠ΄ ΠΌΠ΅ΡΠ°ΠΊΠ»Π°ΡΡΠ° copy_instance def copy_instance(toclass, fromdict):
#Β Make a class object of given type from a conformant dictionary.
class_sig = toclass._diet_.keysO; class_sig. sort ()
dict_keys = fromdict.keys(); dict_keys.sort() common = set_intersection(class_sig, dict_keys) if 'typemap' in class_sig:
class_sig.remove(1typemap') if tuple(class_sig) != tuple(dict_keys): print "Conformability error"
#Β print "Class signature: " + "class_sig"
#Β print "Dictionary keys: " + ~dict_keys" print "Not matched in class signature: "+ \
"set_diff(class_sig, common)" print "Not matched in dictionary keys: "+ \
"set_diff(dict_keys, common)~
sys.exit(1) else:
for x in dict_keys:
setattr(toclass, x, fromdict[x])
ΠΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΈΡΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΠ΅ΡΠ° - -conf igdump Π²ΡΠΏΠ°Π»ΠΈ ΠΈΠ· ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ±ΠΎΠΉ Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ, Ρ.Π΅. ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ. ΠΠ»Π°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΡΡΡΡ Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ»Π΅Π½ΠΎΠ² Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅. ΠΠ°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ.
def copy_instance(toclass, fromdict): for x in fromdict.keys():