First (local) working version

This commit is contained in:
Julius Gonsior 2018-02-25 14:57:11 +01:00
parent 67d35dbbcb
commit e5f5c0caf4
No known key found for this signature in database
GPG Key ID: B1A454C66015B27E
2 changed files with 27 additions and 5 deletions

View File

@ -1054,6 +1054,24 @@ remoteuser = username
#reference = Mail
# This option stands in the [Repository RemoteExapmle] section.
#
# Some mail provider like https://www.fastmail.com/ display in their web interface
# the internaldate of their emails. Therefore it is sometimes desirable, to set the
# internaldate to the value of the Date header.
#
# Available options are:
# - timestamp (the timestamp of the local file)
# - header (the Date header of the email)
# - imap (let the IMAP server set the internaldate)
#
# Default is timestamp
#
#internal_date_for_append_method = header
# DEPRECATED: This option stands in the [Repository RemoteExample] section.
#
# IMAP defines an encoding for non-ASCII ("international") characters. Enable

View File

@ -27,7 +27,6 @@ from offlineimap import imaputil, imaplibutil, emailutil, OfflineImapError
from offlineimap import globals
from offlineimap.virtual_imaplib2 import MonthNames
# Globals
CRLF = '\r\n'
MSGCOPY_NAMESPACE = 'MSGCOPY_'
@ -534,11 +533,16 @@ class IMAPFolder(BaseFolder):
:returns: string in the form of "DD-Mmm-YYYY HH:MM:SS +HHMM"
(including double quotes) or `None` in case of failure
(which is fine as value for append)."""
if rtime is None:
# if config parameter is set respect this setting:
# for the default value we don't need to change anything
internal_date_for_append_method = self.repository.getconf('internal_date_for_append_method', 'timestamp')
if internal_date_for_append_method == 'imap':
return None
elif internal_date_for_append_method == 'header':
rtime = emailutil.get_message_date(content)
if rtime == None:
return None
datetuple = time.localtime(rtime)
try: