Right now, IMAP Read Email offers the possibility to mark an email as read.
However, I would like to mark emails as read, after the workflow has successfully completed.
When wroking with Gmail, usually something like this solves the problem:
But not everyone uses Gmail as their email server (I also want to use protonmail), so that solution will not work.
I would suggest to create an IMAP manipulation node, where we can pass a query to filter a specific/or set of emails, and do operations on then (remove labels per example).
I believe that node-imap allows for search queries (not entirely sure tbh), so we could use that to pull emails a second time and perform operations on those emails. This is not the cleanest solution, but I believe it would work.
I created an n8n community node, n8n-nodes-imap, which is now available for use. Here’s a snapshot of what you can expect from this node:
Operations
Mailbox Operations:
Get List of Mailboxes: This function allows you to retrieve a list of all your mailboxes, complete with essential status information like message count.
Get Status of a Mailbox: Gain detailed insights into the status of any mailbox, including the total number of messages and other pertinent details.
Create a Mailbox: You can now set up new mailboxes directly within your workflow.
Rename a Mailbox: Adjust the names of your mailboxes as required.
Delete a Mailbox: To prevent accidental data loss, this feature is currently disabled, as I haven’t identified a significant use case in standard workflows.
Email Operations:
Get List of Emails in a Mailbox
Download Attachments from an Email
Move an Email to Another Mailbox
I encourage you to test this node and share your experiences or suggestions.