Skip to content

maildir-windows-compatible = yes option, not working as expected #725

@thephatmaster

Description

@thephatmaster

I'm having some difficulty getting the maildir-windows-compatible = yes option to allow me to have my MailDir on FAT storage (an SD card on a small dual-boot device)

It seems : is still present in filenames that offlineimap is trying to create

General informations

  • system/distribution (with version): KDE Neon (Ubuntu 20.04 Base, Plasma 5.25, Wayland)
  • offlineimap / python version: offlineimap v7.2.3, imaplib2 v2.57 (system), Python v2.7.18, OpenSSL 1.1.1f 31 Mar 2020
  • server name or domain: unsure what this means
  • CLI options: none

Configuration file offlineimaprc

[general]
# GmailAcccount, OutlookAccount
accounts = GmailAccount, OutlookAccount
maildir-windows-compatible = yes
# ----------- Gmail Account -----------

[Account GmailAccount]
localrepository = LocalGmailAccount
remoterepository = RepositoryGmailAccount
quick = 10

[Repository LocalGmailAccount]
type = Maildir
localfolders = /media/<USER>/Storage_512/Maildir/GmailAccount

[Repository RepositoryGmailAccount]
type = Gmail
maxconnections = 2
remoteuser = <USER>@gmail.com
remotepass = <PASS>
sslcacertfile = /etc/ssl/certs/ca-certificates.crt

[Windows compatibility]
maildir-windows-compatible = yes
# ----------- OutlookAccount -----------

[Account OutlookAccount]
localrepository = LocalOutlookAccount
remoterepository = RemoteOutlookAccount

[Repository LocalOutlookAccount]
type = Maildir
localfolders = /media/<USER>/Storage_512/Maildir/OutlookAccount

[Repository RemoteOutlookAccount]
type = IMAP
ssl = yes
remotehost = outlook.office365.com
remoteuser = <ACC DETAILS>
remotepass = <PASS>Xax11053	
sslcacertfile = /etc/ssl/certs/ca-certificates.crt

[Windows compatibility]
maildir-windows-compatible = yes

pythonfile (if any)

REMOVE PRIVATE DATA.

Logs, error

OfflineIMAP 7.2.3
  Licensed under the GNU GPL v2 or any later version (with an OpenSSL exception)
imaplib2 v2.57 (system), Python v2.7.18, OpenSSL 1.1.1f  31 Mar 2020
Account sync GmailAccount:
 *** Processing account GmailAccount
 Establishing connection to imap.gmail.com:993 (RepositoryGmailAccount)
Folder [Gmail]/All Mail [acc: GmailAccount]:
 Creating new Local Status db for LocalGmailAccount:[Gmail].All Mail
Folder [Gmail]/Archive [acc: GmailAccount]:
 Creating new Local Status db for LocalGmailAccount:[Gmail].Archive
Folder [Gmail]/All Mail [acc: GmailAccount]:
 Syncing [Gmail]/All Mail: Gmail -> Maildir
Folder [Gmail]/Archive [acc: GmailAccount]:
 Syncing [Gmail]/Archive: Gmail -> Maildir
 Establishing connection to imap.gmail.com:993 (RepositoryGmailAccount)
 Copy message UID 2 (1/1) RepositoryGmailAccount:[Gmail]/Archive -> LocalGmailAccount:[Gmail].Archive
Copy message from RepositoryGmailAccount:[Gmail]/Archive:
 ERROR: Copying message 2 [acc: GmailAccount]
  [Errno 2] No such file or directory: '/media/<USER>/Storage_512/Maildir/GmailAccount/[Gmail].Archive/tmp/1665409952_0.23728.<USER>-surfacego,U=2,FMD5=312a26d26d7c877e152f72dd5ddbc11f:2,S'
Folder [Gmail]/Drafts [acc: GmailAccount]:
 Creating new Local Status db for LocalGmailAccount:[Gmail].Drafts
 Syncing [Gmail]/Drafts: Gmail -> Maildir
Thread 'Copy message from RepositoryGmailAccount:[Gmail]/Archive' terminated with exception:
Traceback (most recent call last):
  File "/usr/share/offlineimap/offlineimap/threadutil.py", line 160, in run
    Thread.run(self)
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/offlineimap/offlineimap/folder/Gmail.py", line 289, in copymessageto
    super(GmailFolder, self).copymessageto(uid, dstfolder, statusfolder, register)
  File "/usr/share/offlineimap/offlineimap/folder/Base.py", line 844, in copymessageto
    new_uid = dstfolder.savemessage(uid, message, flags, rtime)
  File "/usr/share/offlineimap/offlineimap/folder/Maildir.py", line 393, in savemessage
    tmpname = self.save_to_tmp_file(messagename, content)
  File "/usr/share/offlineimap/offlineimap/folder/Maildir.py", line 318, in save_to_tmp_file
    os.O_EXCL|os.O_CREAT|os.O_WRONLY, 0o666)
OSError: [Errno 2] No such file or directory: '/media/<USER>/Storage_512/Maildir/GmailAccount/[Gmail].Archive/tmp/1665409952_0.23728.<USER>-surfacego,U=2,FMD5=312a26d26d7c877e152f72dd5ddbc11f:2,S'


Last 3 debug messages logged for Copy message from RepositoryGmailAccount:[Gmail]/Archive prior to exception:
thread: Register new thread 'Copy message from RepositoryGmailAccount:[Gmail]/Archive' (account 'GmailAccount')
imap: Returned object from fetching 2: 'Delivered-To: stephenallen37@gmail.com
Received: by 10.194.202.162 with SMTP id kj2csp1293295wjc;
        Wed, 28 Jan 2015 06:34:00 -0800 (PST)
Return..."></body></html>
--001a11c3226617f971050db7431c--
'
maildir: Write mail '[Gmail].Archive:2' with flags set(['S'])
ERROR: Exceptions occurred during the run!
ERROR: Copying message 2 [acc: GmailAccount]
  [Errno 2] No such file or directory: '/media/<USER>/Storage_512/Maildir/GmailAccount/[Gmail].Archive/tmp/1665409952_0.23728.<USER>-surfacego,U=2,FMD5=312a26d26d7c877e152f72dd5ddbc11f:2,S'

Traceback:
  File "/usr/share/offlineimap/offlineimap/folder/Base.py", line 844, in copymessageto
    new_uid = dstfolder.savemessage(uid, message, flags, rtime)
  File "/usr/share/offlineimap/offlineimap/folder/Maildir.py", line 393, in savemessage
    tmpname = self.save_to_tmp_file(messagename, content)
  File "/usr/share/offlineimap/offlineimap/folder/Maildir.py", line 318, in save_to_tmp_file

Steps to reproduce the error

  • run offlineimap in terminal

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions