nylas / nylas-mail

:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!
https://nylas.com/nylas-mail/
MIT License
24.8k stars 1.39k forks source link

Feature Request: Manual mapping of folders for Sent Mail, Trash etc. #1457

Closed wadedog closed 7 years ago

wadedog commented 8 years ago

I have a bunch of map accounts that I want to use in Nylas N1. But when I add them it doesn't map the "Deleted Messages" mailboxes to Trash.

What this means is that I cannot delete anything as Nylas thinks there is nowhere for it to go.

In mail.app you can click on any mailbox and get then select Mailbox > Use This Mailbox As > and then select something like Trash Mailbox and abracadabra it's now mapped and any deletes sends the email to that mailbox.

At the moment (0.4.9.575c091) I cannot find where/if this can be done, and without it all the imap accounts are useless because I can't even delete an email.

bengotow commented 8 years ago

Hi @wadedog — thanks for filing this. Can you post one of the email addresses that isn't being mapped properly? If it's sensitive, feel free to also email us at support@nylas.com. We could add an option for doing this, but we'd much rather make it work as expected in the first place! Cheers—

wadedog commented 8 years ago

Hi @bengotow,

Sorry for my ignorance but how will sending you an email address help...?

This affects all of my IMAP accounts that are not Google. They are hosted on my own server.

With IMAP people can set any mailbox they want as trash, sent, archive etc. So every system can differ depending on the host etc.

Mine are called Sent Messages and Deleted Messages.

What names of mailboxes is Nylas looking for...?

MoOx commented 8 years ago

Having the same issue. Mail deleted in Mail.app seems to be moved to my account Trash, but in reallity, they are not moved anywhere (even if I got a Trash label in Mail.app). If I use my webmail provider (roundcube) I can see that mail supposed to be deleted are still in inbox but just in a very light color compared to the other (see attachements). You will also not the "start" column with a symbol that may mean "deleted".

screen shot 2016-02-28 at 08 21 14

Not sure what is the best to do. Mail.app say from its configuration that messages should be in a Trash folder.

screen shot 2016-02-28 at 08 26 00

FYI, It's a simple IMAP account at gandi.net

jamesbeston commented 8 years ago

Same issue here across accounts but mainly my Gmail. I don't see an option to change mapping / labelling and, with 50% of emails remaining in my Inbox with a 'Bin' label, it is preventing me using it.

Has this been resolved yet?

MoOx commented 8 years ago

If the issue is still open, probably not resolved yet. It's also preventing me trying n1 :(

thosgood commented 8 years ago

This is an issue for me also. I'm using a university email address (accessible through IMAP) and the trash folder is called 'Deleted Items'. It shows up in the list of folders for that account, but not in the 'Bin' section of folders. This is annoying mostly because it means I can't delete emails, except by dragging them to the Deleted Items folder each time.

florianbrinkmann commented 8 years ago

I have the same problem!

jamesbeston commented 8 years ago

I have noticed that since the latest update that this issue has disappeared! I have now got rid of Thunderbird and so far, so good!

On Apr 12 2016, at 9:34 am, Florian Brinkmann <notifications@github.com> wrote:

I have the same problem!


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

MoOx commented 8 years ago

FYI, I successfully converted my imap account to work with latest n1.

http://apple.stackexchange.com/questions/19251/how-can-i-re-map-mails-sent-messages-folder-to-an-imap-servers-sent-mail-f

For example renamed "Deleted messages" to "Sent" and ask Mail.app to use it via "Mailbox" in menubar, then "Use mailbox as" as explained in the previous link. Also did the same for Trash, and then I got the same result in Mail.app and n1.

florianbrinkmann commented 8 years ago

Problem soved, I had to rename the folders in Roundcube from the german name to english (for example ”Gesendet“ to ”Sent“).

thosgood commented 8 years ago

None of the above suggestions have solved the problem for me -- neither the 'Sent Items' nor the 'Deleted Items' folder show on the list of all folders in the left sidebar, but they also don't appear under the 'Sent' or 'Bin' dropdowns (unlike my gmail).

tomkeysers commented 8 years ago

I'm having issues with this as well. Just testing this mail client and added an IMAP account. I now see folders like 'INBOX.Archive' and 'INBOX.INBOX.Trash' in N1, but none of these folders work with the shortcuts.

It's really important for me to be able to archive and delete mails with a shortcut.

Should I get this working if I rename these folders? Have tried 'Archive' and 'Trash', but not working ...

xRokco commented 8 years ago

I'm having this issue too. If I create a folder folderName in Thunderbird, it will appear in N1 as INBOX/folderName. If I rename the folder in N1 (for example changing INBOX/Trash to Trash) the background icon of the empty folder will turn into a Trash bin, so N1 is understanding the name, but I still have no option to delete/trash emails anywhere.

I'm using an IMAP account.

legoblokje commented 8 years ago

I have the same issue. For example Inbox is marked as INBOX and works, but Sent / Trash are marked as INBOX.Sent / INBOX.Trash and don't work. I think a manual mapping function would solve these issues.

legoblokje commented 8 years ago

The new stable version (version 0.4.32-1de17e7) fixed my problems. The names of the folders are still INBOX.Foo, but they are functional.

xRokco commented 8 years ago

New update didn't fix it for me. I reset my mailbox with my mailserver provider and still no luck. Default folder setup below.

inbox

tomkeysers commented 8 years ago

The update worked for me. N1 now successfully recognizes the Archive and Trash folder. I did have to rename the folders to INBOX.Trash and INBOX.Archive (instead of INBOX.INBOX.Trash). Maybe that's the trick @xRokco ?

andremrsantos commented 8 years ago

It would be nice to able to map a folder as trash and sent in this case. I have the same issues, but my university email doesn't allow me to rename INBOX/Trash to anything else

rgruyters commented 8 years ago

It would be a nice add-on if users can select/map folders. For me I use a different Trash folder than the default "Trash". (I use "Deleted Messages")

iraklisg commented 8 years ago

@xRokco I use Nylas to connect to my outlook.com account. I have a similar problem, some time ago I manually created an Archive folder, which I deleted later on. However, the folder still appears in my folders panel as, Deleted items\Archive. I tried numerous ways to make it disappear including deleting this string "serializedCategories":"[{\"client_id\":\"local-9ff7eb04-aa84\",\"server_id\":\"2tpd67o9t5o5o9o0j1cer8mpm\",\"object\":\"folder\",\"account_id\":\"3yd92emoljq3px8fhpoam2ayc\",\"name\":\"archive\",\"display_name\":\"Deleted Items\\\\Archive\",\"id\":\"2tpd67o9t5o5o9o0j1cer8mpm\",\"__constructorName\":\"Category\"}]" }, from the ~/.nylas/main-window-state.json but it stills there (btw the folder does not appear in my webmail)

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/3672

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/4370

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/4157

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/92

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/4998

hallamoore commented 8 years ago

Hi everyone,

We have deployed a partial patch for this. Now our code tries to infer which folders are trash/sent/etc if we don't receive specific flags from your IMAP provider. So, folders with names like Deleted Messages or INBOX/trash should get correctly parsed as the trash folder. However, if you have multiple folders that could be interpreted as one of these default folders, we don't choose any of them, since we don't actually know which one would be correct.

We will eventually add an interface for manually setting the default folders, but for now this should solve the issue for most of you. Are any of you still experiencing this problem?

Thanks! Halla

spenserhale commented 8 years ago

@hallamoore

I am running Version 0.4.45-7637265 and checked for updates but says on latest version.

I do not see the any change with deleted folders for my IMAP account.

Is there a step I need to do to run the code inference?

hallamoore commented 8 years ago

Hi @spenserhale — No, you shouldn't need to do anything else. What behavior is your account still exhibiting?

happydemic commented 8 years ago

Nylas 04.47-3a2a94c IMAP via locally hosted sync engine Deleted Items folder not detected

hallamoore commented 8 years ago

@happydemic, hmm, let's make sure you do have the right commit with your local sync engine. The relevant sync-engine commit is f57372.

happydemic commented 8 years ago

Hi there, thanks for commenting.

I'm currently running sync-engine 91744eb (2 Aug) which includes f57372 (28 June). I even checked my sync engine's inbox/folder_edge_cases.py file to see that it has the correct code, which it does (below): screenshot from 2016-08-03 21-57-35

N1 can't still identify "Deleted Items" as the trash folder. Perhaps this is because the sync engine database was created before that commit. I don't want to regenerate the database because that takes many hours of high CPU use in my setup.

hallamoore commented 8 years ago

I believe folder roles are assigned with each sync, so you shouldn't have to regenerate the database. Can you double check that when you hit your sync engine's "/folders" endpoint none of the folders have "name": "trash"?

happydemic commented 8 years ago

Thanks, @hallamoore.

I checked - and nope. The list is too long for a screenshot, but Deleted Items appears as "name": null and there are no folders with "name": "trash".

The Drafts and Sent folders are both recognised and appear correctly in the list as "name": "drafts" and "name": "sent". All other folders (about twenty of them) are "name": null.

hallamoore commented 8 years ago

@happydemic

Could you do some debugging around https://github.com/nylas/sync-engine/blob/master/inbox/crispin.py#L533? Double-check that _guess_role() is being called for your "Deleted Items" folder, and that localized_folder_names[role] for when the role is 'trash' is the expected set from https://github.com/nylas/sync-engine/blob/master/inbox/folder_edge_cases.py. Thanks!

happydemic commented 8 years ago

@hallamoore

Running sync-engine 0722050 (6 Aug).

Thanks again for looking into this. I checked out your suggestion, but no luck unfortunately. :(

To answer your questions specifically regarding _guess_role(): _guess_role() is called for "Deleted Items", localized_folder_names has the expected values, and role is returned correctly as 'trash' - see gist.

I then stepped through and confirmed that the value of missing_roles (i.e. after matching against the defaults only) is ['trash', 'spam'], as expected, and the correct (guessed) folder mapping for 'Deleted Items' is included by crispin.py in raw_folders and then passed to monitor.py as remote_folders. So my value for remote_folders[3] at line 50 of monitor.py is RawFolder(display_name=u'Deleted Items', role='trash') - I believe that is all as expected.

What next?

As a separate issue, I noticed that folder_edge_cases is currently missing the British English mappings for 'spam', viz 'Junk Mail', 'Junk E-Mail' etc. The spam folder on that particular account is 'Junk E-Mail'.

hallamoore commented 8 years ago

Hi @happydemic,

I just merged some sync-engine code that should hopefully solve this problem. I don't know when it'll make it to production, but since you're running a self-hosted sync engine, feel free to pull it and test it out! The relevant commit is 92313a.

wadedog commented 8 years ago

A fuzzy matching solution that doesn't pick up everything is still unusable for a lot of people.

I simply can't use N1 until I can map folders like I can in mail.app. If N1 doesn't find the folders it thinks should be there you can't delete emails.

17 days ago you said it was a partial patch and "We will eventually add an interface for manually setting the default folders".

This feature shouldn't be closed because it hasn't been delivered.

happydemic commented 8 years ago

Hi @hallamoore , I agree with @wadedog - there are two separate issues here.

  1. The absence of manual mapping is a big limitation. This issue should be relabelled as enhancement-request (not bug). The issue should either be reopened or closed as wontfix (if that's the decision), but it should be on Nylas's radar.
  2. Regarding the patch for the bug in fuzzy matching, it looks promising. That account is currently down at the server end, so I can't test with it. I'll update once it comes back up.
happydemic commented 8 years ago

@hallamoore, this patch does not seem to entirely solve the bug in matching localised names I'm afraid.

I have started a new issue to discuss localised name matching at nylas/sync-engine#377.

hallamoore commented 8 years ago

Whoops, GitHub automatically closed the issue because I referenced it in a pull request. I'll reopen this for the mapping feature request, and I think the sync engine issue is a good place to continue the fuzzy matching discussion. Thanks!

jackiehluo commented 8 years ago

Another incidence: https://nylas.zendesk.com/agent/tickets/5733

WESID commented 8 years ago

I have just downloaded Nylas and added three accounts. Two of them have everything but one of them, an IMAP account, has nothing in sent folder. The other two accounts do. What do I need to do?

spenserhale commented 7 years ago

Any updates? I am still unable to use Nylas due to unable to delete emails.

firefountain commented 7 years ago

Same here.. IMAP account can't find the "Sent" folder..

ArchangeGabriel commented 7 years ago

Manual mapping is a necessary feature for me, and it would be much less code than trying to cope with every possibility, especially localized ones. I have several accounts for which I can’t change the folder name on the server side, and from this issue I bet that Nylas Mail wouldn’t recognize them (I’ll be able to confirm that eventually once Nylas Mail will be build-able from source and won’t depend anymore on a remote part, which are both necessary condition for me to try Nylas software).

tchiotludo commented 7 years ago

I find a solution to have a partial working version. Nylas seems to seek folder (like the gmail for Android) at the root.

So you need to have at root :

This version works well for the Trash : image

No more Trash folder at the bottom, but don't work for others.

When I send a mail, this popup appear : image

Clicking "Show Details" only close the popup, log output :

{"host":"udol","timestamp":"2017-04-13T10:38:22.582Z","payload":"Error: Can't find sent folder - could not save message to sent folder.
    at NylasError (errors.es6:1:8)
    at APIError (errors.es6:17:5)
    at /internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.es6:43:30
    at next (<anonymous>)
    at resume (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:448)
    at /usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:367
    at AsyncGenerator.send [as _invoke] (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:169)
    at advance (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/shared/interruptible.js:78:31)
    at err (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/shared/interruptible.js:110:17)"}
{"host":"udol","timestamp":"2017-04-13T10:38:22.584Z","payload":{"fingerprint":["{{ default }}","syncback task","Can't find sent folder - could not save message to sent folder."],"pluginIds":["client-sync"]}}
{"host":"udol","timestamp":"2017-04-13T10:38:22.588Z","payload":"{ Error: Can't find sent folder - could not save message to sent folder.
    at NylasError (errors.es6:1:8)
    at APIError (errors.es6:17:5)
    at /internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.es6:43:30
    at next (<anonymous>)
    at resume (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:448)
    at /usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:367
    at AsyncGenerator.send [as _invoke] (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/local-sync-worker/syncback-tasks/ensure-message-in-sent-folder.imap.js:3:169)
    at advance (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/shared/interruptible.js:78:31)
    at err (/usr/share/nylas-mail/resources/app.asar/internal_packages/client-sync/src/shared/interruptible.js:110:17)
  message: 'Can\\'t find sent folder - could not save message to sent folder.',
  __stackCleaned__: true } { fingerprint: 
   [ '{{ default }}',
     'syncback task',
     'Can\\'t find sent folder - could not save message to sent folder.' ],
  pluginIds: [ 'client-sync' ] }
"}

So ugly hack that work well, go to :

nairbinod commented 7 years ago

~/.nylas-mail/random.sqlite open dabase with a gui when nylas is closed open tables folders and add role to your folder (inbox, trash, sent, drafts, spam) save database restart nylas

THIS WORKED

hallamoore commented 7 years ago

We're also going to release an in-app gui for this soon!

jstejada commented 7 years ago

this will be released in the next release!

WESID commented 7 years ago

Please delete me from any further emails. I no longer use the program.

On 4/25/2017 1:34 PM, Juan wrote:

this will be released in the next release!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nylas/nylas-mail/issues/1457#issuecomment-297124360, or mute the thread https://github.com/notifications/unsubscribe-auth/AUS7Eg7yepZRB-1tiNWEAHSeAW69C-aTks5rzjyegaJpZM4HkRMz.