MailAccount class

Contains information about a single mail account

Annotations
  • @JsonSerializable.new()

Constructors

MailAccount({required String name, required String email, required MailServerConfig incoming, required MailServerConfig outgoing, String userName = '', String outgoingClientDomain = 'enough.de', bool supportsPlusAliases = false, List<MailAddress> aliases = const [], Map<String, dynamic> attributes = const {}})
Creates a new empty mail account
const
MailAccount.fromDiscoveredSettings({required String name, required String email, required String password, required ClientConfig config, required String userName, String outgoingClientDomain = 'enough.de', String? loginName, bool supportsPlusAliases = false, List<MailAddress> aliases = const []})
Creates a mail account with the given name for the specified email from the discovered config with a a plain authentication for the preferred incoming and preferred outgoing server.
factory
MailAccount.fromDiscoveredSettingsWithAuth({required String name, required String email, required MailAuthentication auth, required ClientConfig config, String userName = '', String outgoingClientDomain = 'enough.de', MailAuthentication? outgoingAuth, bool supportsPlusAliases = false, List<MailAddress> aliases = const []})
Creates a mail account with the given name from the discovered config with the given auth for the preferred incoming and preferred outgoing server.
factory
MailAccount.fromJson(Map<String, dynamic> json)
Creates a new MailAccount from the given json
factory
MailAccount.fromManualSettings({required String name, required String email, required String incomingHost, required String outgoingHost, required String password, String userName = '', ServerType incomingType = ServerType.imap, ServerType outgoingType = ServerType.smtp, String? loginName, String outgoingClientDomain = 'enough.de', int incomingPort = 993, int outgoingPort = 465, SocketType incomingSocketType = SocketType.ssl, SocketType outgoingSocketType = SocketType.ssl, bool supportsPlusAliases = false, List<MailAddress> aliases = const []})
Creates a mail account from manual settings with a simple user-name/password authentication.
factory
MailAccount.fromManualSettingsWithAuth({required String name, required String email, required String incomingHost, required String outgoingHost, required MailAuthentication auth, String userName = '', ServerType incomingType = ServerType.imap, ServerType outgoingType = ServerType.smtp, MailAuthentication? outgoingAuth, String outgoingClientDomain = 'enough.de', dynamic incomingPort = 993, dynamic outgoingPort = 465, SocketType incomingSocketType = SocketType.ssl, SocketType outgoingSocketType = SocketType.ssl, bool supportsPlusAliases = false, List<MailAddress> aliases = const []})
Creates a mail account from manual settings with the specified auth.
factory

Properties

aliases → List<MailAddress>
Optional list of associated aliases
final
attributes → Map<String, dynamic>
Further attributes
final
email → String
The email address of the user
final
fromAddress → MailAddress
Convenience getter for the from MailAddress
no setter
hashCode → int
The hash code for this object.
no setteroverride
incoming → MailServerConfig
Incoming mail settings
final
name → String
The name of the account
final
outgoing → MailServerConfig
Outgoing mail settings
final
outgoingClientDomain → String
The domain that is reported to the outgoing SMTP service
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
supportsPlusAliases → bool
Optional indicator if the mail service supports + based aliases
final
userName → String
The associated name of the user such as First Last, e.g. Andrea Ghez
final

Methods

copyWith({String? name, String? email, String? userName, MailServerConfig? incoming, MailServerConfig? outgoing, List<MailAddress>? aliases, Map<String, dynamic>? attributes, String? outgoingClientDomain, bool? supportsPlusAliases}) → MailAccount
Creates a new MailAccount with the given settings or by copying the current settings.
copyWithAlias(MailAddress alias) → MailAccount
Copies this account with the additional alias
copyWithAttribute(String name, dynamic value) → MailAccount
Copies this account with the attribute name and value
copyWithAuthenticationUserName(String authenticationUserName) → MailAccount
Convenience method to update the incoming and outgoing authentication user name for identifying the user towards the mail service.
hasAttribute(String name) → bool
Checks if this account has an attribute with the specified name
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Generates JSON from this MailAccount
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override

Static Methods

getLoginName(String email, ServerConfig serverConfig) → String
Retrieves the user name from the given email and the discovered serverConfig.