self.interval = 0 # Skip interval
self.protocol = 'auto' # Default to auto protocol
self.service = None # Service name to use
- self.uidl = FALSE # Don't use RFC1725 UIDLs by default
self.auth = 'any' # Default to password authentication
self.timeout = 300 # 5-minute timeout
self.envelope = 'Received' # Envelope-address header
('interval', 'Int'),
('protocol', 'String'),
('service', 'String'),
- ('uidl', 'Boolean'),
('auth', 'String'),
('timeout', 'Int'),
('envelope', 'String'),
res = res + (" qvirtual " + str(self.qvirtual) + "\n");
if self.auth != ServerDefaults.auth:
res = res + " auth " + self.auth
- if self.dns != ServerDefaults.dns or self.uidl != ServerDefaults.uidl:
- res = res + " and options"
if self.dns != ServerDefaults.dns:
+ res = res + " and options"
res = res + flag2str(self.dns, 'dns')
- if self.uidl != ServerDefaults.uidl:
- res = res + flag2str(self.uidl, 'uidl')
if folded: res = res + "\n "
else: res = res + " "
# fetchmail protocol to IANA service name
defaultports = {"auto":None,
"POP3":"pop3",
- "APOP":"pop3",
"KPOP":"1109",
"IMAP":"imap",
"ETRN":"smtp",
"ODMR":"odmr"}
authlist = ("any", "password", "gssapi", "kerberos", "ssh", "otp",
- "msn", "ntlm")
+ "msn", "ntlm", "apop", "cram-md5")
listboxhelp = {
'title' : 'List Selection Help',
# a custom port number you should be in expert mode and playing
# close enough attention to notice this...
self.service.set(defaultports[proto])
- if not proto in ("POP3", "APOP", "KPOP"): self.uidl.state = DISABLED
def user_edit(self, username, mode):
self.subwidgets[username] = UserEdit(username, self).edit(mode, Toplevel())
# Compute the available protocols from the compile-time options
protolist = ['auto']
if 'pop3' in feature_options:
- protolist = protolist + ["POP3", "APOP", "KPOP"]
+ protolist = protolist + ["POP3", "KPOP"]
if 'sdps' in feature_options:
protolist.append("SDPS")
if 'imap' in feature_options:
LabeledEntry(protwin, 'On server TCP/IP service:',
self.service, leftwidth).pack(side=TOP, fill=X)
self.defaultPort()
- Checkbutton(protwin,
- text="POP3: track `seen' with client-side UIDLs?",
- variable=self.uidl).pack(side=TOP)
Button(protwin, text='Probe for supported protocols', fg='blue',
command=self.autoprobe).pack(side=LEFT)
Button(protwin, text='Help', fg='blue',
if string.find(greetline, "Domino IMAP4") > 0:
warnings = warnings + """
Your IMAP server appears to be Lotus Domino. This server, at least up
-to version 4.6.2a, has a bug in its generation of MIME boundaries (see
+to version 5.0.2, has a bug in its generation of MIME boundaries (see
the details in the fetchmail FAQ). As a result, even MIME aware MUAs
will see attachments as part of the message text. If your Domino server's
POP3 facility is enabled, we recommend you fall back on it.
password in clear. You should talk to the mailserver administrator about
this.
-"""
- if string.find(greetline, "IMAP2bis") > 0:
- warnings = warnings + """
-IMAP2bis servers have a minor problem; they can't peek at messages without
-marking them seen. If you take a line hit during the retrieval, the
-interrupted message may get left on the server, marked seen.
-
-To work around this, it is recommended that you set the `fetchall'
-option on all user entries associated with this server, so any stuck
-mail will be retrieved next time around.
-
-To fix this bug, upgrade to an IMAP4 server. The fetchmail FAQ includes
-a pointer to an open-source implementation.
-
"""
if string.find(greetline, "IMAP4rev1") > 0:
warnings = warnings + """