# by Eric S. Raymond, <esr@snark.thyrsus.com>.
# Requires Python with Tkinter, and the following OS-dependent services:
# posix, posixpath, socket
-version = "1.26"
+version = "1.28"
from Tkinter import *
from Dialog import *
self.pass8bits = FALSE # Force BODY=7BIT
self.mimedecode = FALSE # Undo MIME armoring
self.dropstatus = FALSE # Drop incoming Status lines
+ self.dropdelivered = FALSE # Drop incoming Delivered-To lines
self.idle = FALSE # IDLE after poll
self.limit = 0 # Message size limit
self.warnings = 0 # Size warning interval
('pass8bits', 'Boolean'),
('mimedecode', 'Boolean'),
('dropstatus', 'Boolean'),
+ ('dropdelivered', 'Boolean'),
('idle', 'Boolean'),
('limit', 'Int'),
('warnings', 'Int'),
def __repr__(self):
res = " "
- res = res + "user '" + `self.remote` + "' there ";
+ res = res + "user " + `self.remote` + " there ";
if self.password:
- res = res + "with password '" + `self.password` + "' "
+ res = res + "with password " + `self.password` + " "
if self.localnames:
res = res + "is"
for x in self.localnames:
or self.pass8bits != UserDefaults.pass8bits
or self.mimedecode != UserDefaults.mimedecode
or self.dropstatus != UserDefaults.dropstatus
+ or self.dropdelivered != UserDefaults.dropdelivered
or self.idle != UserDefaults.idle):
res = res + " options"
if self.keep != UserDefaults.keep:
res = res + flag2str(self.mimedecode, 'mimedecode')
if self.dropstatus != UserDefaults.dropstatus:
res = res + flag2str(self.dropstatus, 'dropstatus')
+ if self.dropdelivered != UserDefaults.dropdelivered:
+ res = res + flag2str(self.dropdelivered, 'dropdelivered')
if self.idle != UserDefaults.idle:
res = res + flag2str(self.idle, 'idle')
if self.limit != UserDefaults.limit:
if self.sslkey and self.sslkey != UserDefaults.sslkey:
res = res + " sslkey " + `self.sslkey`
if self.sslcert and self.sslcert != UserDefaults.sslcert:
- res = res + " ssl " + `self.sslcert`
+ res = res + " sslcert " + `self.sslcert`
if self.expunge != UserDefaults.expunge:
res = res + " expunge " + `self.expunge`
res = res + "\n"
under that version, and doesn't cope with the result gracefully. Newer
SunOS and Solaris machines run cucipop OK.
+"""
+ if string.find(greetline, "David POP3 Server") > 0:
+ warnings = warnings + """
+This POP3 serrver is badly broken. You should get rid of it -- and the
+brain-dead NT operating system it rode in on.
+
"""
# The greeting line on the server known to be buggy is:
# +OK POP3 server ready (running FTGate V2, 2, 1, 0 Jun 21 1999 09:55:01)
Therefore, it is strongly recommended that you turn on `fetchall' on all
user entries associated with this server.
+"""
+ if string.find(greetline, " Novonyx POP3") > 0:
+ warnings = warnings + """
+Your mailserver is running Novonyx POP3. This server, at least as of
+version 2.17, seems to have problems handling and reporting seen bits.
+You may have to use the fetchall option.
+
"""
### IMAP servers start here
variable=self.mimedecode).pack(side=TOP, anchor=W)
Checkbutton(optwin, text="Drop Status lines from forwarded messages",
variable=self.dropstatus).pack(side=TOP, anchor=W)
+ Checkbutton(optwin, text="Drop Delivered-To lines from forwarded messages",
+ variable=self.dropdelivered).pack(side=TOP, anchor=W)
optwin.pack(fill=X)
if mode != 'novice':