Commit Graph

141 Commits

Author SHA1 Message Date
Johannes Zellner
badf58db3e Allow empty mail relay username and/or password 2019-04-22 14:41:44 +02:00
Girish Ramakrishnan
f0f18db5a8 Remove unused error code 2019-04-15 16:54:41 -07:00
Girish Ramakrishnan
2f068c66d4 sendTestMail: return error 2019-04-15 16:54:25 -07:00
Girish Ramakrishnan
9fbe209c04 Better debug 2019-04-08 13:07:06 -07:00
Girish Ramakrishnan
3b908a5857 native-dns: use unbound by default 2019-03-25 11:51:17 -07:00
Girish Ramakrishnan
76ec639fea typo 2019-03-17 17:52:37 -07:00
Girish Ramakrishnan
a273dea755 add no-op provider for mail relay
Fixes #622
2019-03-15 14:38:53 -07:00
Girish Ramakrishnan
2051b3921b Use constants.ADMIN_LOCATION instead
part of #621
2019-03-09 20:06:12 -08:00
Girish Ramakrishnan
fdd651b9cc Only append markdownMessage is not-empty 2019-03-07 11:50:49 -08:00
Girish Ramakrishnan
7b56f102cc relay check is always performed 2019-03-06 19:48:18 -08:00
Girish Ramakrishnan
fb08a17ec8 Add some debugs 2019-03-04 18:11:07 -08:00
Girish Ramakrishnan
da2b00c9cf Move cert change notification into ensureCertificate()
When ensureCertificate renews the cert, the filename will match the
nginx config cert file. The current code detects that this implies
that the cert has not changed and thus does not update mail container.

Move the notification into ensureCertificate() itself. If we have a wildcard
cert and it gets renewed when installing a new app, then mail container will
still get it.
2019-03-04 15:24:09 -08:00
Girish Ramakrishnan
c361ab954d Indicate how often status check is run 2019-03-01 11:30:51 -08:00
Girish Ramakrishnan
a8735a6465 Generate detailed mail configuration error notification 2019-03-01 11:15:05 -08:00
Girish Ramakrishnan
6a18d6918e restart mail now restart the service
... and not just the container

Fixes #617
2019-02-28 10:44:26 -08:00
Girish Ramakrishnan
27f6177fc9 do not restart mail container when not activated
provision code is calling setDashboardDomain() which is restarting
the mail server
2019-02-27 11:46:03 -08:00
Girish Ramakrishnan
97d762f01f relay username also needs to be hidden 2019-02-15 11:44:33 -08:00
Girish Ramakrishnan
671b5e29d0 Hide mail relay password 2019-02-15 11:25:51 -08:00
Girish Ramakrishnan
2105b2ecdb Run MX and DMARC checks only if mail is enabled 2019-02-06 15:23:41 -08:00
Girish Ramakrishnan
f1352c6ef0 Fix crash 2019-02-04 20:51:26 -08:00
Girish Ramakrishnan
7e6ce1a1ef Add event to track dashboard update 2019-02-04 20:42:28 -08:00
Girish Ramakrishnan
9f5471ee85 Update mail DNS records on dashboard switch
Fixes #613
2019-02-04 20:18:01 -08:00
Girish Ramakrishnan
3bf36d6c93 Add mail.configureMail 2019-02-04 17:10:07 -08:00
Girish Ramakrishnan
38523835fd parameterize the mailFqdn 2019-01-31 15:27:26 -08:00
Girish Ramakrishnan
c01864ccf5 mention outbound 2019-01-25 10:27:44 -08:00
Girish Ramakrishnan
4f839ae44e better error message for outbound port 25 2019-01-24 15:09:14 -08:00
Girish Ramakrishnan
cbd3c60c5d Use a relay token for no-reply emails 2018-12-28 13:32:59 -08:00
Girish Ramakrishnan
2037fec878 new mail container does not require default domain 2018-12-28 12:12:34 -08:00
Girish Ramakrishnan
b5b20452cc Fix reverseProxy.getCertificate API 2018-12-19 14:20:48 -08:00
Girish Ramakrishnan
36f8ce453f No need to reserve .app suffix 2018-12-12 15:07:49 -08:00
Girish Ramakrishnan
8d944f9a4a Allow setup to be run again as long as not-activated
this is useful if the activation fails somewhere mid-way and we don't
need to re-setup the cloudron all over
2018-12-07 15:11:25 -08:00
Girish Ramakrishnan
dfa61f1b2d rework how app mailboxes are allocated
Our current setup had a mailbox allocated for an app during app
install (into the mailboxes table). This has many issues:

* When set to a custom mailbox location, there was no way to access
  this mailbox even via IMAP. Even when using app credentials, we
  cannot use IMAP since the ldap logic was testing on the addon type
  (most of our apps only use sendmail addon and thus cannot recvmail).

* The mailboxes table was being used to add hidden 'app' type entries.
  This made it very hard for the user to understand why a mailbox conflicts.
  For example, if you set an app to use custom mailbox 'blog', this is
  hidden from all views.

The solution is to let an app send email as whatever mailbox name is
allocated to it (which we now track in the apps table. the default is in the
db already so that REST response contains it). When not using
Cloudron email, it will just send mail as that mailbox and the auth
checks the "app password" in the addons table. Any replies to that
mailbox will end up in the domain's mail server (not our problem).

When using cloudron email, the app can send mail like above. Any responses
will not end anywhere and bounce since there is no 'mailbox'. This is the
expected behavior. If user wants to access this mailbox name, he can
create a concrete mailbox and set himself as owner OR set this as
an alias.

For apps using the recvmail addon, the workflow is to actually create
a mailbox at some point. Currently, we have no UI for this 'flow'.
It's fine because we have only meemo using it.

Intuitive much!
2018-12-06 22:13:32 -08:00
Girish Ramakrishnan
41b0c3242e Make function name clearer 2018-12-06 12:47:50 -08:00
Girish Ramakrishnan
48ed051edf Use list verb 2018-12-06 10:23:10 -08:00
Girish Ramakrishnan
9800154d01 Use latest mail container (healthcheck route) 2018-12-01 21:50:24 -08:00
Girish Ramakrishnan
9b4fffde29 Use shell.exec instead of shell.execSync 2018-11-23 11:18:45 -08:00
Girish Ramakrishnan
61d98ca4ca give addons more memory when starting up / importing
we scale it back after the import is done
2018-11-11 21:45:02 -08:00
Girish Ramakrishnan
78ac1d2a12 Add isCloudronManaged label to containers managed by cloudron 2018-11-10 19:00:03 -08:00
Girish Ramakrishnan
bd2b03876b Add users.isActivated
it's easier to see where we do activation checks
2018-11-10 18:09:00 -08:00
Girish Ramakrishnan
e526890e3e Add a separate disabled event 2018-11-10 00:35:56 -08:00
Girish Ramakrishnan
0d65635bc4 eventlog: add email enabled/disabled events 2018-11-10 00:17:38 -08:00
Girish Ramakrishnan
4aa76a859f eventlog: mail list add,remove events 2018-11-10 00:17:25 -08:00
Girish Ramakrishnan
003789265c eventlog: mailbox add,remove events 2018-11-10 00:06:02 -08:00
Girish Ramakrishnan
c26e9bbef7 Fix debugs to match function name 2018-10-04 10:29:40 -07:00
Girish Ramakrishnan
af763eadd4 Fix perms issue when restoring
Fixes #536
2018-09-26 11:59:19 -07:00
Girish Ramakrishnan
df66d77a68 cloudflare: Fix crash when there is an external error updating dns records 2018-09-06 12:26:11 -07:00
Girish Ramakrishnan
1e15b63a4a prevent deletion of mail domain as well 2018-09-06 00:16:12 -07:00
Ian Fijolek
bf1e19f8e6 Add more detailed checking of DMARC
Fixes #570
2018-08-12 13:47:24 -07:00
Girish Ramakrishnan
606cd4da36 Allow - in mailbox names (for no-reply) 2018-07-26 23:48:21 -07:00
Girish Ramakrishnan
f4d7d4e7f2 Set the domain field 2018-07-25 11:41:42 -07:00