mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2026-10-10 11:32:37 +00:00
[Imapsync] Add oauth support
This commit is contained in:
@@ -44,24 +44,16 @@
|
||||
"app_name": "App name",
|
||||
"app_password": "Add app password",
|
||||
"app_passwd_protocols": "Allowed protocols for app password",
|
||||
"automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
|
||||
"backup_mx_options": "Relay options",
|
||||
"bcc_dest_format": "BCC destination must be a single valid email address.<br>If you need to send a copy to multiple addresses, create an alias and use it here.",
|
||||
"comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a user's overview",
|
||||
"custom_params": "Custom parameters",
|
||||
"custom_params_hint": "Right: --param=xy, wrong: --param xy",
|
||||
"delete1": "Delete from source when completed",
|
||||
"delete2": "Delete messages on destination that are not on source",
|
||||
"delete2duplicates": "Delete duplicates on destination",
|
||||
"description": "Description",
|
||||
"destination": "Destination",
|
||||
"disable_login": "Disallow login (incoming mail is still accepted)",
|
||||
"domain": "Domain",
|
||||
"domain_matches_hostname": "Domain %s matches hostname",
|
||||
"domain_quota_m": "Total domain quota (MiB)",
|
||||
"dry": "Simulate synchronization",
|
||||
"enc_method": "Encryption method",
|
||||
"exclude": "Exclude objects (regex)",
|
||||
"full_name": "Full name",
|
||||
"gal": "Global Address List",
|
||||
"gal_info": "The GAL contains all objects of a domain and cannot be edited by any user. Free/busy information in SOGo is missing, if disabled! <b>Restart SOGo to apply changes.</b>",
|
||||
@@ -80,7 +72,6 @@
|
||||
"mailbox_username": "Username (left part of an email address)",
|
||||
"max_aliases": "Max. possible aliases",
|
||||
"max_mailboxes": "Max. possible mailboxes",
|
||||
"mins_interval": "Polling interval (minutes)",
|
||||
"multiple_bookings": "Multiple bookings",
|
||||
"nexthop": "Next hop",
|
||||
"password": "Password",
|
||||
@@ -100,16 +91,10 @@
|
||||
"select_domain": "Please select a domain first",
|
||||
"sieve_desc": "Short description",
|
||||
"sieve_type": "Filter type",
|
||||
"skipcrossduplicates": "Skip duplicate messages across folders (first come, first serve)",
|
||||
"subscribeall": "Subscribe all folders",
|
||||
"syncjob": "Add sync job",
|
||||
"syncjob_hint": "Be aware that passwords need to be saved plain-text!",
|
||||
"tags": "Tags",
|
||||
"target_address": "Goto addresses",
|
||||
"target_address_info": "<small>Full email address/es (comma-separated).</small>",
|
||||
"target_domain": "Target domain",
|
||||
"timeout1": "Timeout for connection to remote host",
|
||||
"timeout2": "Timeout for connection to local host",
|
||||
"username": "Username",
|
||||
"validate": "Validate",
|
||||
"validation_success": "Validated successfully"
|
||||
@@ -559,7 +544,22 @@
|
||||
"validity_missing": "Please assign a period of validity",
|
||||
"value_missing": "Please provide all values",
|
||||
"version_invalid": "Version %s is invalid",
|
||||
"yotp_verification_failed": "Yubico OTP verification failed: %s"
|
||||
"yotp_verification_failed": "Yubico OTP verification failed: %s",
|
||||
"imapsync_source_in_use": "Sync source %s is still used by a sync job and cannot be deleted",
|
||||
"imapsync_source_token_refresh_failed": "OAuth token refresh for %s failed",
|
||||
"imapsync_source_scope_empty": "Select at least one domain for the chosen visibility",
|
||||
"imapsync_source_unavailable": "The selected sync source is unavailable",
|
||||
"imapsync_source_oauth_connect_required": "Sign in with the provider before saving this sync job",
|
||||
"imapsync_source_name_invalid": "Invalid sync source name",
|
||||
"imapsync_source_host_invalid": "Invalid host",
|
||||
"imapsync_source_port_invalid": "Invalid port",
|
||||
"imapsync_source_enc_invalid": "Invalid encryption method",
|
||||
"imapsync_source_auth_invalid": "Invalid authentication method",
|
||||
"imapsync_source_oauth_required": "OAuth2 requires token endpoint, client ID, client secret and scope",
|
||||
"imapsync_source_oauth_endpoint_invalid": "Invalid OAuth2 endpoint URL",
|
||||
"imapsync_source_oauth_extra_invalid": "OAuth2 extra parameters must be valid JSON",
|
||||
"imapsync_source_invalid": "Invalid sync source data",
|
||||
"imapsync_source_oauth_invalid": "Invalid OAuth2 configuration"
|
||||
},
|
||||
"datatables": {
|
||||
"collapse_all": "Collapse All",
|
||||
@@ -648,7 +648,6 @@
|
||||
"app_name": "App name",
|
||||
"app_passwd": "App password",
|
||||
"app_passwd_protocols": "Allowed protocols for app password",
|
||||
"automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
|
||||
"backup_mx_options": "Relay options",
|
||||
"bcc_dest_format": "BCC destination must be a single valid email address.<br>If you need to send a copy to multiple addresses, create an alias and use it here.",
|
||||
"client_id": "Client ID",
|
||||
@@ -656,9 +655,6 @@
|
||||
"comment_info": "A private comment is not visible to the user, while a public comment is shown as tooltip when hovering it in a user's overview",
|
||||
"created_on": "Created on",
|
||||
"custom_attributes": "Custom attributes",
|
||||
"delete1": "Delete from source when completed",
|
||||
"delete2": "Delete messages on destination that are not on source",
|
||||
"delete2duplicates": "Delete duplicates on destination",
|
||||
"delete_ays": "Please confirm the deletion process.",
|
||||
"description": "Description",
|
||||
"disable_login": "Disallow login (incoming mail is still accepted)",
|
||||
@@ -682,7 +678,6 @@
|
||||
"dont_check_sender_acl": "Disable sender check for domain %s (+ alias domains)",
|
||||
"edit_alias_domain": "Edit Alias domain",
|
||||
"encryption": "Encryption",
|
||||
"exclude": "Exclude objects (regex)",
|
||||
"extended_sender_acl": "External sender addresses",
|
||||
"extended_sender_acl_info": "A DKIM domain key should be imported, if available.<br>\r\n Remember to add this server to the corresponding SPF TXT record.<br>\r\n Whenever a domain or alias domain is added to this server, that overlaps with an external address, the external address is removed.<br>\r\n Use @domain.tld to allow to send as *@domain.tld.",
|
||||
"force_pw_update": "Force password update at next login",
|
||||
@@ -713,10 +708,7 @@
|
||||
"max_aliases": "Max. aliases",
|
||||
"max_mailboxes": "Max. possible mailboxes",
|
||||
"max_quota": "Max. quota per mailbox (MiB)",
|
||||
"maxage": "Maximum age of messages in days that will be polled from remote<br><small>(0 = ignore age)</small>",
|
||||
"maxbytespersecond": "Max. bytes per second <br><small>(0 = unlimited)</small>",
|
||||
"mbox_rl_info": "This rate limit is applied on the SASL login name, it matches any \"from\" address used by the logged-in user. A mailbox rate limit overrides a domain-wide rate limit.",
|
||||
"mins_interval": "Interval (min)",
|
||||
"mta_sts": "MTA-STS",
|
||||
"mta_sts_info": "<a href='https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_MTA_Strict_Transport_Security' target='_blank'>MTA-STS</a> is a standard that enforces email delivery between mail servers to use TLS with valid certificates. <br>It is used when <a target='_blank' href='https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities'>DANE</a> is not possible due to missing or unsupported DNSSEC.<br><b>Note</b>: If the receiving domain supports DANE with DNSSEC, DANE is <b>always</b> preferred – MTA-STS only acts as a fallback.",
|
||||
"mta_sts_version": "Version",
|
||||
@@ -768,7 +760,6 @@
|
||||
"sender_acl_info": "If mailbox user A is allowed to send as mailbox user B, the sender address is not automatically displayed as selectable \"from\" field in SOGo.<br>\r\n Mailbox user B needs to create a delegation in SOGo to allow mailbox user A to select their address as sender. To delegate a mailbox in SOGo, use the menu (three dots) to the right of your mailbox name in the upper left while in mail view. This behaviour does not apply to alias addresses.",
|
||||
"sieve_desc": "Short description",
|
||||
"sieve_type": "Filter type",
|
||||
"skipcrossduplicates": "Skip duplicate messages across folders (first come, first serve)",
|
||||
"sogo_access": "Direct forwarding to SOGo",
|
||||
"sogo_access_info": "After logging in, the user is automatically redirected to SOGo.",
|
||||
"sogo_visible": "Alias is visible in SOGo",
|
||||
@@ -777,12 +768,8 @@
|
||||
"spam_filter": "Spam filter",
|
||||
"spam_policy": "Add or remove items to allow-/denylist",
|
||||
"spam_score": "Set a custom spam score",
|
||||
"subfolder2": "Sync into subfolder on destination<br><small>(empty = do not use subfolder)</small>",
|
||||
"syncjob": "Edit sync job",
|
||||
"target_address": "Goto address/es <small>(comma-separated)</small>",
|
||||
"target_domain": "Target domain",
|
||||
"timeout1": "Timeout for connection to remote host",
|
||||
"timeout2": "Timeout for connection to local host",
|
||||
"title": "Edit object",
|
||||
"unchanged_if_empty": "If unchanged leave blank",
|
||||
"username": "Username",
|
||||
@@ -1003,16 +990,6 @@
|
||||
"spam_aliases": "Temp. alias",
|
||||
"stats": "Statistics",
|
||||
"status": "Status",
|
||||
"sync_jobs": "Sync jobs",
|
||||
"syncjob_check_log": "Check log",
|
||||
"syncjob_last_run_result": "Last run result",
|
||||
"syncjob_EX_OK": "Success",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE": "Connection problem",
|
||||
"syncjob_EXIT_TLS_FAILURE": "Problem with encrypted connection",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE": "Authentication problem",
|
||||
"syncjob_EXIT_OVERQUOTA": "Target mailbox is over quota",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Can't connect to remote server",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Wrong username or password",
|
||||
"table_size": "Table size",
|
||||
"table_size_show_n": "Show %s items",
|
||||
"target_address": "Goto address",
|
||||
@@ -1214,7 +1191,11 @@
|
||||
"verified_fido2_login": "Verified FIDO2 login",
|
||||
"verified_totp_login": "Verified TOTP login",
|
||||
"verified_webauthn_login": "Verified WebAuthn login",
|
||||
"verified_yotp_login": "Verified Yubico OTP login"
|
||||
"verified_yotp_login": "Verified Yubico OTP login",
|
||||
"imapsync_source_added": "Sync source %s has been added",
|
||||
"imapsync_source_modified": "Sync source %s has been saved",
|
||||
"imapsync_source_deleted": "Sync source %s has been deleted",
|
||||
"imapsync_source_token_refreshed": "OAuth token for %s has been refreshed"
|
||||
},
|
||||
"tfa": {
|
||||
"authenticators": "Authenticators",
|
||||
@@ -1249,6 +1230,67 @@
|
||||
"waiting_usb_register": "<i>Waiting for USB device...</i><br><br>Please enter your password above and confirm your registration by tapping the button on your USB device.",
|
||||
"yubi_otp": "Yubico OTP authentication"
|
||||
},
|
||||
"syncjobs": {
|
||||
"sources_panel": "Sync Sources",
|
||||
"sources_hint": "Sync sources define IMAP servers (and their authentication method) that sync jobs can reuse. Define each source once, then pick it from the dropdown when creating sync jobs.",
|
||||
"source_add": "Add source",
|
||||
"source": "Source",
|
||||
"source_name": "Name",
|
||||
"source_description": "Description",
|
||||
"source_scope": "Visibility",
|
||||
"source_scope_all": "All users",
|
||||
"source_scope_domain": "Specific domains",
|
||||
"source_scope_user": "Specific users",
|
||||
"source_domains": "Domains",
|
||||
"source_users": "Users",
|
||||
"source_select": "Select source",
|
||||
"source_auth_type": "Authentication",
|
||||
"source_oauth_block": "OAuth2 configuration",
|
||||
"source_token_status": "Token valid until",
|
||||
"source_token_error": "Last refresh error",
|
||||
"source_refresh_now": "Refresh token now",
|
||||
"source_secret_unchanged_hint": "Leave blank to keep the stored secret unchanged.",
|
||||
"oauth_source_hint": "Authentication via OAuth2 — no password required.",
|
||||
"source_oauth_flow": "OAuth2 flow",
|
||||
"source_oauth_flow_app": "App (client credentials)",
|
||||
"source_oauth_flow_user": "User login (authorization code)",
|
||||
"source_authorize_endpoint": "Authorize endpoint",
|
||||
"source_userinfo_endpoint": "Userinfo endpoint",
|
||||
"source_redirect_uri": "Redirect URI",
|
||||
"source_redirect_uri_hint": "Register this URI in the provider app (e.g. Azure).",
|
||||
"syncjob_oauth_connect": "Sign in with the provider",
|
||||
"syncjob_oauth_connected": "Connected",
|
||||
"sync_jobs": "Sync jobs",
|
||||
"syncjob_check_log": "Check log",
|
||||
"syncjob_last_run_result": "Last run result",
|
||||
"syncjob_EX_OK": "Success",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE": "Connection problem",
|
||||
"syncjob_EXIT_TLS_FAILURE": "Problem with encrypted connection",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE": "Authentication problem",
|
||||
"syncjob_EXIT_OVERQUOTA": "Target mailbox is over quota",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Can't connect to remote server",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Wrong username or password",
|
||||
"add": "Add sync job",
|
||||
"add_hint": "Be aware that passwords need to be saved plain-text!",
|
||||
"edit": "Edit sync job",
|
||||
"create": "Create new sync job",
|
||||
"dry": "Simulate synchronization",
|
||||
"subfolder2": "Sync into subfolder on destination<br><small>(empty = do not use subfolder)</small>",
|
||||
"mins_interval": "Polling interval (minutes)",
|
||||
"maxage": "Maximum age of messages in days that will be polled from remote<br><small>(0 = ignore age)</small>",
|
||||
"exclude": "Exclude objects (regex)",
|
||||
"automap": "Try to automap folders (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
|
||||
"delete1": "Delete from source when completed",
|
||||
"delete2": "Delete messages on destination that are not on source",
|
||||
"delete2duplicates": "Delete duplicates on destination",
|
||||
"skipcrossduplicates": "Skip duplicate messages across folders (first come, first serve)",
|
||||
"subscribeall": "Subscribe all folders",
|
||||
"timeout1": "Timeout for connection to remote host",
|
||||
"timeout2": "Timeout for connection to local host",
|
||||
"maxbytespersecond": "Max. bytes per second <br><small>(0 = unlimited)</small>",
|
||||
"custom_params": "Custom parameters",
|
||||
"custom_params_hint": "Right: --param=xy, wrong: --param xy"
|
||||
},
|
||||
"user": {
|
||||
"action": "Action",
|
||||
"active": "Active",
|
||||
@@ -1279,7 +1321,6 @@
|
||||
"clear_recent_successful_connections": "Clear seen successful connections",
|
||||
"client_configuration": "Show configuration guides for email clients and smartphones",
|
||||
"create_app_passwd": "Create app password",
|
||||
"create_syncjob": "Create new sync job",
|
||||
"created_on": "Created on",
|
||||
"daily": "Daily",
|
||||
"day": "day",
|
||||
@@ -1389,16 +1430,6 @@
|
||||
"spamfilter_wl_desc": "Allowlisted email addresses are programmed to <b>never</b> classify as spam. Wildcards may be used. A filter is only applied to direct aliases (aliases with a single target mailbox) excluding catch-all aliases and a mailbox itself.",
|
||||
"spamfilter_yellow": "Yellow: this message may be spam, will be tagged as spam and moved to your junk folder",
|
||||
"status": "Status",
|
||||
"sync_jobs": "Sync jobs",
|
||||
"syncjob_check_log": "Check log",
|
||||
"syncjob_last_run_result": "Last run result",
|
||||
"syncjob_EX_OK": "Success",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE": "Connection problem",
|
||||
"syncjob_EXIT_TLS_FAILURE": "Problem with encrypted connection",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE": "Authentication problem",
|
||||
"syncjob_EXIT_OVERQUOTA": "Target mailbox is over quota",
|
||||
"syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Can't connect to remote server",
|
||||
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Wrong username or password",
|
||||
"tag_handling": "Set handling for tagged mail",
|
||||
"tag_help_example": "Example for a tagged email address: me<b>+Facebook</b>@example.org",
|
||||
"tag_help_explain": "In subfolder: a new subfolder named after the tag will be created below INBOX (\"INBOX/Facebook\").<br>\r\nIn subject: the tags name will be prepended to the mails subject, example: \"[Facebook] My News\".",
|
||||
|
||||
Reference in New Issue
Block a user