Right now we basically keep redelivering failed messages. Nothing removes them from the failed delivery directory.
So, once they are successfully delivered we have to remove them.
Also we need a way to track delivery attempts across runs of the retry_failed_incoming_email() task. If we are trying to deliver to a remote IMAP server and it is down, we should basically start taking longer between retries, and after a certain number of retries, give up and either move the message to a permanently failed directory or just delete it.
We also sometimes get emails that can not be encoded in an EmailMessage. For now I am going to say these are just undeliverable, and we need to either delete them or move them to the permanently failed spool directory.
For message retries we might want to augment the json file we have the failures stored in with a "reattempted times" and "last reattempted time" and such.
Right now we basically keep redelivering failed messages. Nothing removes them from the failed delivery directory.
So, once they are successfully delivered we have to remove them.
Also we need a way to track delivery attempts across runs of the
retry_failed_incoming_email()task. If we are trying to deliver to a remote IMAP server and it is down, we should basically start taking longer between retries, and after a certain number of retries, give up and either move the message to a permanently failed directory or just delete it.We also sometimes get emails that can not be encoded in an EmailMessage. For now I am going to say these are just undeliverable, and we need to either delete them or move them to the permanently failed spool directory.
For message retries we might want to augment the json file we have the failures stored in with a "reattempted times" and "last reattempted time" and such.