pub enum Config {
Show 93 variants
Addr,
MailServer,
MailUser,
MailPw,
MailPort,
MailSecurity,
ImapCertificateChecks,
SendServer,
SendUser,
SendPw,
SendPort,
SendSecurity,
SmtpCertificateChecks,
ServerFlags,
ProxyEnabled,
ProxyUrl,
Socks5Enabled,
Socks5Host,
Socks5Port,
Socks5User,
Socks5Password,
Displayname,
Selfstatus,
Selfavatar,
BccSelf,
E2eeEnabled,
MdnsEnabled,
SentboxWatch,
MvboxMove,
OnlyFetchMvbox,
ShowEmails,
MediaQuality,
FetchExistingMsgs,
FetchedExistingMsgs,
KeyGenType,
DeleteServerAfter,
DeleteDeviceAfter,
DeleteToTrash,
SaveMimeHeaders,
ConfiguredAddr,
ConfiguredImapServers,
ConfiguredMailServer,
ConfiguredMailPort,
ConfiguredMailSecurity,
ConfiguredMailUser,
ConfiguredMailPw,
ConfiguredImapCertificateChecks,
ConfiguredSmtpServers,
ConfiguredSendServer,
ConfiguredSendPort,
ConfiguredSendSecurity,
ConfiguredSendUser,
ConfiguredSendPw,
ConfiguredSmtpCertificateChecks,
ConfiguredServerFlags,
ConfiguredInboxFolder,
ConfiguredMvboxFolder,
ConfiguredSentboxFolder,
ConfiguredTrashFolder,
ConfiguredTimestamp,
ConfiguredProvider,
Configured,
IsChatmail,
FixIsChatmail,
IsMuted,
PrivateTag,
SecondaryAddrs,
SysVersion,
SysMsgsizeMaxRecommended,
SysConfigKeys,
Bot,
SkipStartMessages,
NotifyAboutWrongPw,
QuotaExceeding,
WebrtcInstance,
LastHousekeeping,
LastCantDecryptOutgoingMsgs,
ScanAllFoldersDebounceSecs,
DisableIdle,
DownloadLimit,
SyncMsgs,
AuthservIdCandidates,
SignUnencrypted,
ProtectAutocrypt,
DebugLogging,
LastMsgId,
GossipPeriod,
VerifiedOneOnOneChats,
KeyId,
SelfReportingId,
WebxdcIntegration,
WebxdcRealtimeEnabled,
DeviceToken,
}
Expand description
The available configuration keys.
Variants§
Addr
Email address, used in the From:
field.
MailServer
IMAP server hostname.
MailUser
IMAP server username.
MailPw
IMAP server password.
MailPort
IMAP server port.
MailSecurity
IMAP server security (e.g. TLS, STARTTLS).
ImapCertificateChecks
How to check TLS certificates.
“IMAP” in the name is for compatibility, this actually applies to both IMAP and SMTP connections.
SendServer
SMTP server hostname.
SendUser
SMTP server username.
SendPw
SMTP server password.
SendPort
SMTP server port.
SendSecurity
SMTP server security (e.g. TLS, STARTTLS).
SmtpCertificateChecks
Deprecated option for backwards compatibility.
Certificate checks for SMTP are actually controlled by imap_certificate_checks
config.
ServerFlags
Whether to use OAuth 2.
Historically contained other bitflags, which are now deprecated. Should not be extended in the future, create new config keys instead.
ProxyEnabled
True if proxy is enabled.
Can be used to disable proxy without erasing known URLs.
ProxyUrl
Proxy URL.
Supported URLs schemes are http://
(HTTP), https://
(HTTPS),
socks5://
(SOCKS5) and ss://
(Shadowsocks).
May contain multiple URLs separated by newline, in which case the first one is used.
Socks5Enabled
True if SOCKS5 is enabled.
Can be used to disable SOCKS5 without erasing SOCKS5 configuration.
Deprecated in favor of ProxyEnabled
.
Socks5Host
SOCKS5 proxy server hostname or address.
Deprecated in favor of ProxyUrl
.
Socks5Port
SOCKS5 proxy server port.
Deprecated in favor of ProxyUrl
.
Socks5User
SOCKS5 proxy server username.
Deprecated in favor of ProxyUrl
.
Socks5Password
SOCKS5 proxy server password.
Deprecated in favor of ProxyUrl
.
Displayname
Own name to use in the From:
field when sending messages.
Selfstatus
Own status to display, sent in message footer.
Selfavatar
Own avatar filename.
BccSelf
Send BCC copy to self.
Should be enabled for multidevice setups.
E2eeEnabled
True if encryption is preferred according to Autocrypt standard.
MdnsEnabled
True if Message Delivery Notifications (read receipts) should be sent and requested.
SentboxWatch
True if “Sent” folder should be watched for changes.
MvboxMove
True if chat messages should be moved to a separate folder. Auto-sent messages like sync ones are moved there anyway.
OnlyFetchMvbox
Watch for new messages in the “Mvbox” (aka DeltaChat folder) only.
This will not entirely disable other folders, e.g. the spam folder will also still be watched for new messages.
ShowEmails
Whether to show classic emails or only chat messages.
MediaQuality
Quality of the media files to send.
FetchExistingMsgs
If set to “1”, on the first time start_io()
is called after configuring,
the newest existing messages are fetched.
Existing recipients are added to the contact database regardless of this setting.
FetchedExistingMsgs
If set to “1”, then existing messages are considered to be already fetched. This flag is reset after successful configuration.
KeyGenType
Type of the OpenPGP key to generate.
DeleteServerAfter
Timer in seconds after which the message is deleted from the server.
0 means messages are never deleted by Delta Chat.
Value 1 is treated as “delete at once”: messages are deleted immediately, without moving to DeltaChat folder.
Default is 1 for chatmail accounts before a backup export, 0 otherwise.
DeleteDeviceAfter
Timer in seconds after which the message is deleted from the device.
Equals to 0 by default, which means the message is never deleted.
DeleteToTrash
Move messages to the Trash folder instead of marking them “\Deleted”. Overrides
ProviderOptions::delete_to_trash
.
SaveMimeHeaders
Save raw MIME messages with headers in the database if true.
ConfiguredAddr
The primary email address. Also see SecondaryAddrs
.
ConfiguredImapServers
List of configured IMAP servers as a JSON array.
ConfiguredMailServer
Configured IMAP server hostname.
This is replaced by configured_imap_servers
for new configurations.
ConfiguredMailPort
Configured IMAP server port.
This is replaced by configured_imap_servers
for new configurations.
ConfiguredMailSecurity
Configured IMAP server security (e.g. TLS, STARTTLS).
This is replaced by configured_imap_servers
for new configurations.
ConfiguredMailUser
Configured IMAP server username.
This is set if user has configured username manually.
ConfiguredMailPw
Configured IMAP server password.
ConfiguredImapCertificateChecks
Configured TLS certificate checks. This option is saved on successful configuration and should not be modified manually.
This actually applies to both IMAP and SMTP connections, but has “IMAP” in the name for backwards compatibility.
ConfiguredSmtpServers
List of configured SMTP servers as a JSON array.
ConfiguredSendServer
Configured SMTP server hostname.
This is replaced by configured_smtp_servers
for new configurations.
ConfiguredSendPort
Configured SMTP server port.
This is replaced by configured_smtp_servers
for new configurations.
ConfiguredSendSecurity
Configured SMTP server security (e.g. TLS, STARTTLS).
This is replaced by configured_smtp_servers
for new configurations.
ConfiguredSendUser
Configured SMTP server username.
This is set if user has configured username manually.
ConfiguredSendPw
Configured SMTP server password.
ConfiguredSmtpCertificateChecks
Deprecated, stored for backwards compatibility.
ConfiguredImapCertificateChecks is actually used.
ConfiguredServerFlags
Whether OAuth 2 is used with configured provider.
ConfiguredInboxFolder
Configured folder for incoming messages.
ConfiguredMvboxFolder
Configured folder for chat messages.
ConfiguredSentboxFolder
Configured “Sent” folder.
ConfiguredTrashFolder
Configured “Trash” folder.
ConfiguredTimestamp
Unix timestamp of the last successful configuration.
ConfiguredProvider
ID of the configured provider from the provider database.
Configured
True if account is configured.
IsChatmail
True if account is a chatmail account.
FixIsChatmail
True if IsChatmail
mustn’t be autoconfigured. For tests.
IsMuted
True if account is muted.
PrivateTag
Optional tag as “Work”, “Family”. Meant to help profile owner to differ between profiles with similar names.
SecondaryAddrs
All secondary self addresses separated by spaces
(addr1@example.org addr2@example.org addr3@example.org
)
SysVersion
Read-only core version string.
SysMsgsizeMaxRecommended
Maximal recommended attachment size in bytes.
SysConfigKeys
Space separated list of all config keys available.
Bot
True if it is a bot account.
SkipStartMessages
True when to skip initial start messages in groups.
NotifyAboutWrongPw
Whether we send a warning if the password is wrong (set to false when we send a warning because we do not want to send a second warning)
QuotaExceeding
If a warning about exceeding quota was shown recently, this is the percentage of quota at the time the warning was given. Unset, when quota falls below minimal warning threshold again.
WebrtcInstance
address to webrtc instance to use for videochats
LastHousekeeping
Timestamp of the last time housekeeping was run
LastCantDecryptOutgoingMsgs
Timestamp of the last CantDecryptOutgoingMsgs
notification.
ScanAllFoldersDebounceSecs
To how many seconds to debounce scan_all_folders. Used mainly in tests, to disable debouncing completely.
DisableIdle
Whether to avoid using IMAP IDLE even if the server supports it.
This is a developer option for testing “fake idle”.
DownloadLimit
Defines the max. size (in bytes) of messages downloaded automatically. 0 = no limit.
SyncMsgs
Enable sending and executing (applying) sync messages. Sending requires BccSelf
to be set
and Bot
unset.
AuthservIdCandidates
Space-separated list of all the authserv-ids which we believe may be the one of our email server.
See crate::authres::update_authservid_candidates
.
SignUnencrypted
Make all outgoing messages with Autocrypt header “multipart/signed”.
ProtectAutocrypt
Enable header protection for Autocrypt
header.
This is an experimental setting not compatible to other MUAs and older Delta Chat versions (core version <= v1.149.0).
DebugLogging
Let the core save all events to the database. This value is used internally to remember the MsgId of the logging xdc
LastMsgId
Last message processed by the bot.
GossipPeriod
How often to gossip Autocrypt keys in chats with multiple recipients, in seconds. 2 days by default.
This is not supposed to be changed by UIs and only used for testing.
VerifiedOneOnOneChats
Feature flag for verified 1:1 chats; the UI should set it
to 1 if it supports verified 1:1 chats.
Regardless of this setting, chat.is_protected()
returns true while the key is verified,
and when the key changes, an info message is posted into the chat.
0=Nothing else happens when the key changes.
1=After the key changed, can_send()
returns false and is_protection_broken()
returns true
until chat_id.accept()
is called.
KeyId
Row ID of the key in the keypairs
table
used for signatures, encryption to self and included in Autocrypt
header.
SelfReportingId
This key is sent to the self_reporting bot so that the bot can recognize the user without storing the email address
WebxdcIntegration
MsgId of webxdc map integration.
WebxdcRealtimeEnabled
Enable webxdc realtime features.
DeviceToken
Last device token stored on the chatmail server.
If it has not changed, we do not store the device token again.
Implementations§
source§impl Config
impl Config
sourcepub(crate) fn is_synced(&self) -> bool
pub(crate) fn is_synced(&self) -> bool
Whether the config option is synced across devices.
This must be checked on both sides so that if there are different client versions, the
synchronisation of a particular option is either done or not done in both directions.
Moreover, receivers of a config value need to check if a key can be synced because if it is
a file path, it could otherwise lead to exfiltration of files from a receiver’s
device if we assume an attacker to have control of a device in a multi-device setting or if
multiple users are sharing an account. Another example is Self::SyncMsgs
itself which
mustn’t be controlled by other devices.
sourcepub(crate) fn needs_io_restart(&self) -> bool
pub(crate) fn needs_io_restart(&self) -> bool
Whether the config option needs an IO scheduler restart to take effect.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl IntoEnumIterator for Config
impl IntoEnumIterator for Config
type Iterator = ConfigIter
fn iter() -> ConfigIter ⓘ
source§impl Ord for Config
impl Ord for Config
source§impl PartialOrd for Config
impl PartialOrd for Config
impl Copy for Config
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.