diff --git a/src/translation/en.json b/src/translation/en.json index a885ee42b..8a0bcf1a2 100644 --- a/src/translation/en.json +++ b/src/translation/en.json @@ -656,5 +656,159 @@ "newFile": { "errorAlreadyExists": "Already exists" } - } + }, + "email": { + "backAction": "Back to Email", + "config": { + "title": "Email configuration {{ domain }}", + "connectionDetails": "Connection details for other email clients" + }, + "incoming": { + "title": "Incoming Email", + "description": "Cloudron Email Server allows users to receive email for this domain. Rainloop, SOGo, Roundcube are pre-configured to access Cloudron Email.", + "disableAction": "Disable", + "enableAction": "Enable", + "outgointServerInfo": "Outgoing Mail (SMTP)", + "sieveServerInfo": "ManageSieve", + "loginHelp": "Use mailboxname@{{ domain }} and the mailbox owner password to access mailboxes of this domain", + "server": "Server", + "port": "Port", + "tabTitle": "Mailboxes", + "mailboxes": { + "title": "Mailboxes", + "addAction": "Add", + "disabledTooltip": "Email is disabled for this domain", + "name": "Name", + "owner": "Owner", + "aliases": "Aliases", + "usage": "Usage" + }, + "mailinglists": { + "title": "Mailing Lists", + "description": "A Mailing list forwards all emails to it's members.", + "name": "Name", + "members": "List Members", + "everyoneTooltip": "Posting allowed by non-members", + "membersOnlyTooltip": "Posting restricted to members only" + }, + "catchall": { + "title": "Catch-all", + "description": "Emails sent to non existing addresses will be forwarded to the following mailboxes.", + "subscriptionRequired": "This feature is only available in the paid plans. Setup Subscription Now", + "saveAction": "Save" + } + }, + "outbound": { + "tabTitle": "Outbound", + "title": "Email Relay", + "description": "Cloudron will use this mail server (Smart host) to send the outbound mails of apps installed under this domain.", + "noopAdminDomainWarning": "Cloudron cannot send user invites, password reset and other notifications when email is disabled on the primary domain", + "noopNonAdminDomainWarning": "Cloudron cannot provide email sending for apps hosted under this domain when email is disabled.", + "mailRelay": { + "host": "SMTP Host", + "port": "SMTP Port (STARTTLS)", + "selfsignedCheckbox": "Accept Self-signed certificate", + "apiTokenOrKey": "API Token/Key", + "username": "Username", + "password": "Password", + "saveSuccess": "Saved", + "saveAction": "Save", + "spfDocInfo": "Cloudron does not automatically setup SPF record. Set it up manually by following the {{ name }} docs." + } + }, + "settings": { + "tabTitle": "Settings" + }, + "masquerading": { + "title": "Masquerading", + "description": "Masquerading allows users and apps to send emails with an arbitrary username in the FROM address.", + "enableAction": "Enable", + "disableAction": "Disable" + }, + "signature": { + "title": "Signature", + "description": "The text here will be attached to all emails going out from this domain.", + "subscriptionRequired": "This feature is only available in the paid plans. Setup Subscription Now", + "plainTextFormat": "Text format", + "htmlFormat": "HTML format (Optional)", + "saveAction": "Save" + }, + "status": { + "tabTitle": "Status" + }, + "dnsStatus": { + "title": "DNS Status", + "reSetupAction": "Re-setup DNS", + "description": "Status of DNS Records may show an error while DNS is propagating (~5 minutes). See the troubleshooting docs for help.", + "namecheapInfo": "Namecheap requires manual steps for MX records", + "ptrInfo": "The PTR record is set by your VPS provider and not by your DNS provider.", + "hostname": "Hostname", + "domain": "Domain", + "expected": "Expected value", + "current": "Current value", + "type": "Record type", + "recordNotSet": "not set" + }, + "smtpStatus": { + "title": "SMTP Status", + "outboudDirect": "Outbound SMTP (Direct)", + "outboudRelay": "Outbound SMTP (Relay)", + "blacklistCheck": "IP Address Blacklist Check", + "blacklisted": "This server's IP {{ ip }} is blacklisted.", + "notBlacklisted": "This server's IP {{ ip }} is not blacklisted." + }, + "subscriptionDialog": { + "title": "Subscription required", + "description": "To add more mailboxes, please setup a paid plain.", + "setupAction": "Setup Subscription" + }, + "enableEmailDialog": { + "title": "Enable Email for {{ domain }}?", + "description": "This will configure Cloudron to receive emails for {{ domain }}. See the documentation for opening up the required ports for Cloudron Email.", + "noProviderInfo": "No DNS provider is setup. The DNS records listed in the Status tab have to be setup manually.", + "cloudflareInfo": "The domain {{ adminDomain }} is managed by Cloudflare. Please verify that Cloudflare proxying is disabled for {{ mailFqdn }} and set to DNS only. This is required because Cloudflare does not proxy email.", + "setupDnsCheckbox": "Setup Mail DNS records now", + "setupDnsInfo": "Use this option to automatically setup Email related DNS records. Leaving this option unchecked is useful for creating mail boxes and importing email before going live.", + "enableAction": "Enable" + }, + "disableEmailDialog": { + "title": "Disable Email Server for {{ domain }}?", + "description": "This will configure Cloudron to stop receiving emails for {{ domain }}. Mailboxes and lists associated with this domain will not be deleted.", + "disableAction": "Disable" + }, + "addMailboxDialog": { + "title": "Add Mailbox", + "name": "Name", + "owner": "Mailbox Owner" + }, + "editMailboxDialog": { + "title": "Edit mailbox {{ name }}@{{ domain }}", + "owner": "Mailbox Owner", + "aliases": "Aliases", + "noAliases": "No aliases are configured.", + "addAliasAction": "Add an alias", + "addAnotherAliasAction": "Add another alias" + }, + "deleteMailboxDialog": { + "title": "Delete mailbox {{ name }}@{{ domain }}", + "description": "After deletion, emails to this mailbox will bounce. You can choose to not delete emails in this mailbox for archival purposes. Archived emails are located at /home/yellowtent/boxdata/mail/vmail on the server.", + "purgeMailboxCheckbox": "Delete all mails and filters inside this mailbox", + "deleteAction": "Delete" + }, + "addMailinglistDialog": { + "title": "Add Mailing list", + "members": "List Members", + "membersInfo": "Separate email addresses with a newline", + "membersOnlyCheckbox": "Restrict posting to members only" + }, + "editMailinglistDialog": { + "title": "Edit Mailing list {{ name }}@{{ domain }}" + }, + "deleteMailinglistDialog": { + "title": "Delete mailing list {{ name }}@{{ domain }}", + "description": "Really delete mailinglist {{ name }}@{{ domain }}?", + "deleteAction": "Delete" + } + }, + "incomingServerInfo": "Incoming Mail (IMAP)" } diff --git a/src/views/email.html b/src/views/email.html index caae6eb80..99a5c6ec5 100644 --- a/src/views/email.html +++ b/src/views/email.html @@ -3,14 +3,14 @@ @@ -21,39 +21,25 @@ @@ -64,17 +50,15 @@ @@ -85,31 +69,31 @@ @@ -120,18 +104,18 @@ @@ -180,21 +164,20 @@ @@ -205,7 +188,7 @@ @@ -245,28 +228,28 @@ @@ -277,14 +260,14 @@ @@ -295,49 +278,44 @@
- Back to Email + {{ 'email.backAction' | tr }}
-

- Email configuration {{ domain.domain }} -

+

{{ 'email.config.title' | tr:{ domain: domain.domain } }}


- +
-

Incoming Email

+

{{ 'email.incoming.title' | tr }}

-
- Cloudron Email Server allows users to receive email for this domain. - Rainloop, SOGo, - Roundcube are pre-configured to access Cloudron Email. Use these settings - to configure other email clients. -
+
- +
-
-
- This feature is only available for custom domains. +
+
+

-

Incoming Mail (IMAP)
Server: {{config.mailFqdn}}
Port: 993 (TLS)

-

Outgoing Mail (SMTP)
Server: {{config.mailFqdn}}
Port: 587 (STARTTLS)

-

ManageSieve
Server: {{config.mailFqdn}}
Port: 4190 (STARTTLS)

-

Use mailboxname@{{ domain.domain }} and the mailbox owner password to access mailboxes of this domain

+

{{ 'email.incoming.incomingServerInfo' | tr }}
{{ 'email.incoming.server' | tr }}: {{config.mailFqdn}}
{{ 'email.incoming.port' | tr }}: 993 (TLS)

+

{{ 'email.incoming.outgointServerInfo' | tr }}
{{ 'email.incoming.server' | tr }}: {{config.mailFqdn}}
{{ 'email.incoming.port' | tr }}: 587 (STARTTLS)

+

{{ 'email.incoming.sieveServerInfo' | tr }}
{{ 'email.incoming.server' | tr }}: {{config.mailFqdn}}
{{ 'email.incoming.port' | tr }}: 4190 (STARTTLS)

+

@@ -347,8 +325,8 @@
-

Mailboxes - +

{{ 'email.incoming.mailboxes.title' | tr }} +
@@ -366,11 +344,11 @@ - - - - - + + + + + @@ -401,8 +379,8 @@
-

Mailing Lists - +

{{ 'email.incoming.mailinglists.title' | tr }} +
@@ -415,25 +393,23 @@
- A Mailing list forwards all emails to it's members. - + {{ 'email.incoming.mailinglists.description' | tr }}

-

NameOwnerAliasesUsageAction{{ 'email.incoming.mailboxes.name' | tr }}{{ 'email.incoming.mailboxes.owner' | tr }}{{ 'email.incoming.mailboxes.aliases' | tr }}{{ 'email.incoming.mailboxes.usage' | tr }}{{ 'main.actions' | tr }}
- - - + + +
NameList MembersAction{{ 'email.incoming.mailinglists.name' | tr }}{{ 'email.incoming.mailinglists.members' | tr }}{{ 'main.actions' | tr }}
- - + + {{ list.name }} @@ -455,215 +431,195 @@
-

Catch-all

+

{{ 'email.incoming.catchall.title' | tr }}

-
- Emails sent to non existing addresses will be forwarded to the following mailboxes. -
+
+
-
- This feature is only available in the paid plans. Setup Subscription Now -
+
-
- +
-

Email Relay

+

{{ 'email.outbound.title' | tr }}

-
-
- Cloudron will use this mail server (Smart host) to send the outbound mails of apps installed under this domain. +
+
+
+ +
+ +
+
+
+
-
-
+

+ {{ 'email.outbound.noopAdminDomainWarning' | tr }} + {{ 'email.outbound.noopNonAdminDomainWarning' | tr }} +

-
-
-
- -
- -

- - Cloudron cannot send user invites, password reset and other notifications when email is disabled on the primary domain - - - Cloudron cannot provide email sending for apps hosted under this domain when email is disabled - -

- -
-
- -
-
-
-
-
- -
- {{ mailRelay.error.host }} -
- -
-
- -
- {{ mailRelay.error.port }} -
- -
- -
- -
- - -
- -
- {{ mailRelay.error.serverApiToken }} -
- -
- - -
- -
- {{ mailRelay.error.username }} -
- -
- -
- -
- {{ mailRelay.error.password }} -
- -
- - -
-
-
-
- -
-
- - - {{ mailRelay.error }} - Saved -
-
- -
-
-
- - Cloudron does not automatically setup SPF record. Set it up manually by following the {{ mailRelay.preset.name }} docs. - -
- - - -
-

Enable Masquerading

- -
-
- Masquerading allows users and apps to send emails with an arbitrary username in the FROM address -
-
- -
-
-
- -
-

Signature

-

The text here will be attached to all emails going out from this domain.

- -
-
- This feature is only available in the paid plans. Setup Subscription Now -
-
- -
-
-
-
-
- - +
+
+
+ +
+ +
+ {{ mailRelay.error.host }}
- -
- - + +
+
+ +
+ {{ mailRelay.error.port }}
+ +
- -
+
+ +
+ + +
+ +
+ {{ mailRelay.error.serverApiToken }} +
+ +
+ + +
+ +
+ {{ mailRelay.error.username }} +
+ +
+ +
+ +
+ {{ mailRelay.error.password }} +
+ +
+ +
-
-
- -
+
+ +
+
+ + + {{ mailRelay.error }} + {{ 'email.outbound.mailRelay.saveSuccess' | tr }}
+ +
+
+
+ +
+
+
+
- + +
+

{{ 'email.masquerading.title' | tr }}

+ +
+
+
+ +
+
+
+ +
+

{{ 'email.signature.title' | tr }}

+

+ +
+
+
+ +
+
+
+
+
+ + +
+ +
+ + +
+ + +
+
+
+
+
+
+ +
+
+
+
+ +
-

DNS Status +

{{ 'email.dnsStatus.title' | tr }}

- - Status of DNS Records may show an error while DNS is propagating (~5 minutes). See the - troubleshooting docs for help. - -

- + +
+
@@ -674,17 +630,13 @@

-

Namecheap requires manual steps for MX records - -

-

The PTR record is set by your VPS provider and not by your DNS provider. - -

-

Hostname: {{ expectedDnsRecords[record.value].name }}

-

Domain: {{ expectedDnsRecords[record.value].domain }}

-

Record type: {{ expectedDnsRecords[record.value].type }}

-

Expected value: {{ expectedDnsRecords[record.value].expected }}

-

Current value: {{ expectedDnsRecords[record.value].value ? expectedDnsRecords[record.value].value : '[not set]' }}

+

{{ 'email.dnsStatus.namecheapInfo' | tr }}

+

{{ 'email.dnsStatus.ptrInfo' | tr }}

+

{{ 'email.dnsStatus.hostname' | tr }}: {{ expectedDnsRecords[record.value].name }}

+

{{ 'email.dnsStatus.domain' | tr }}: {{ expectedDnsRecords[record.value].domain }}

+

{{ 'email.dnsStatus.type' | tr }}: {{ expectedDnsRecords[record.value].type }}

+

{{ 'email.dnsStatus.expected' | tr }}: {{ expectedDnsRecords[record.value].expected }}

+

{{ 'email.dnsStatus.current' | tr }}: {{ expectedDnsRecords[record.value].value ? expectedDnsRecords[record.value].value : ('['+('email.dnsStatus.recordNotSet' | tr)+']') }}

@@ -697,14 +649,14 @@