breaking: Refactor getmail support#4156
breaking: Refactor getmail support#4156casperklein merged 37 commits intodocker-mailserver:masterfrom
getmail support#4156Conversation
* Verify GETMAIL_POLL * Switch state-dir from /tmp/docker-mailserver/getmail to /var/lib/getmail * Add support for custom getmailrc_general.cf file * remove getmail 'message_log' option in favor of 'message_log_syslog' * Change config directory structure: ├── docker-data/dms/config │ ├── getmail-example.cf to ├── docker-data/dms/config │ ├── getmail │ │ ├── getmailrc_general.cf │ │ ├── imap-example.cf │ │ ├── pop3-example.cf
|
Since this introduces breaking changes and will need to be delayed until v15. Review is not a high priority for me right now (I've got a lot to juggle as-is). I will come back to this when I can, I still need to tackle an update to LDAP docs for 14.1 release before I can resume the active LDAP PR that brings breaking changes for v15 (and will require revised LDAP docs again). Presently wrapping up OAuth/OIDC related task for DMS docs. I should be able to provide an initial review here after I've got that out of the way 👍 At a quick glance, while I don't have an issue with introducing a supervisor service, what was the motivation to replace cron with a while sleep loop script? (we use cron for scheduling periodic actions elsewhere... because that's what it's meant for?) |
Is there a reason, not to release v15 next? I don't want this PR to be open for indefinite time (until v15 is eventually released) and handling merge conflicts in the meantime. I think we once discussed that: As soon as breaking changes are merged, the next version should be a major version. I see no Problem in skipping any 14.x releases / I see no value in forcefully releasing 14.x.
|
… example, which makes more sense compared to the container directories.
I don't have any reason. I just want to release with docs update before my LDAP PR is merged for a follow-up release for that. If you want to go straight to v15 that's fine by me and I'll review within the next few days. Reasons to replace cron job makes sense, thanks for that 👍 |
|
BTW: Anything more long-term that was considered for v15 can go into v16. Or we just wait with releasing v15. |
Getmail uses cron for notifications. If getmail fails to fetch emails from retriever, cron sends an error notification to the mailbox Will the supervisor solution send a notification in case of failure? The Fetchmail daemon does the same |
|
I thought about the same. However, DMS does not send any error mails to the user.
I cannot confirm that. When I change, e.g. the hostname to something not resolvable, the error appears in the Why mail notification might not be a good idea / why I've decided against implementing something like that: Given the default poll interval of 5 minutes, you would receive an error mail every 5 minutes until the problem is resolved. |
I'm receiving such messages from fetchmail, maybe for authorization only:
Agreed, this is an issue too |
Confirmed. When I configure a wrong password, then I also receive the same mail. |
There was a problem hiding this comment.
Apparently if I do the review in the diff view but choose to submit as "Comment" type with no top-level message, it silently updates the earlier review feedback without listing them under a review event for better visibility 🤔
So for reference, this is all that really remains:
- Update inline docs: #4156 (comment)
- Minor revision to docs (
foundinstead ofprovides, more explicit reference to location, mention.cfextension expectation_), the file tree above that line basically conveyed all that implicitly but applying the suggestion may still be worthwhile: #4156 (comment) - Your call on ENV enablement for debug methods: #4156 (comment)
- You may want to include the getmail service wrapper as part of the process check tests: #4156 (comment)
- The
_syslog_error()feedback below
Co-authored-by: Brennan Kinney <[email protected]>
getmail6 itself logs as "getmail" to syslog. we align here to "getmail" too.
|
I've checked the boxes in your post, that I consider to be done. I've commented the other ones and waiting for your final feedback there 👍
I noticed some glitches? too. For example, when I reply in the diff view, I can't see my answer here in the conversation tab. I just see your comment but not my reply here. |
logger --id=$$ ... leads to this error message
logger: send message failed: Operation not permitted
The same issue is mentioned here: jonathanio/update-systemd-resolved#25
While I agree, I'm fine with I was going to suggest adding a clarifying comment for the
Yeah, that's related to what I was saying... kinda. If I do a review in the diff view tab and submit the review with feedback added to existing review threads, I think it only shows my new review feedback comment for visibility (sadly with no link to the earlier thread it belongs to). The actual discussion thread remains attached to the previous review that introduced the review comment. Although it may no longer be visible in the diff view tab if the original lines it referenced were since deleted (or modified too heavily?). So most of the time it's easier to browse the diff view tab for an overview as the conversation tab gets unwieldly (unresolved comment threads also can be hidden under the "load more" button). When there's too many threads littered around to navigate I make an overview comment with links so it's easier for us both 😅 |
polarathene
left a comment
There was a problem hiding this comment.
Cheers for putting the time into improving this! Great work❤️
getmail refactorgetmail support
georglauterbach
left a comment
There was a problem hiding this comment.
Just small questions and nitpicks - overall a good PR :)
Co-authored-by: Brennan Kinney <[email protected]>
|
Documentation preview for this PR is ready! 🎉 Built with commit: f48aa22 |
Description
Related discussion: #4149
New:
getmailrc_generalconfig file. This allows to easily change the base options used for every getmail RC file.config-examplesdirectoryChanged:
GETMAIL_POLLvariable is not limited to 30 minutes anymoreBreaking Changes:
/tmp/docker-mailserver/getmail.message_logoption has been removed. No log file for each getmail configuration is created anymore. Instead, like the other services, logging goes to syslog and end up inmail.log./tmp/docker-mailserver/getmailto/var/mail-state/getmail.Not covered by this PR / ToDo:
Type of change
Checklist
docs/)CHANGELOG.md