SmtpClient class

Low-level SMTP library for Dart

Compliant to Extended SMTP standard.

Constructors

SmtpClient(String clientDomain, {bool isLogEnabled = false, String? logName, bool onBadCertificate(X509Certificate)?, SecurityContext? securityContext})
Creates a new instance with the specified clientDomain that is associated with your service's domain, e.g. domain.com or enough.de.

Properties

connectionInfo ↔ ConnectionInfo
Information about the connection
getter/setter pairinherited
eventStream → Stream<SmtpEvent>
Allows listening to events fired by this SmtpClient.
no setter
hashCode → int
The hash code for this object.
no setterinherited
isConnected → bool
Ist the client currently connected?
no setterinherited
isLogEnabled ↔ bool
true when the log is enabled
getter/setter pairinherited
isLoggedIn ↔ bool
true after the user has authenticated
getter/setter pairinherited
isSocketClosingExpected ↔ bool
true when it is expected that the socket is closed
getter/setter pairinherited
logName ↔ String?
The name shown in log entries to differentiate this server
getter/setter pairinherited
onBadCertificate → bool Function(X509Certificate)?
Handles unverifiable certificates.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
securityContext → SecurityContext?
Optional SecurityContext for mTLS (mutual TLS).
finalinherited
serverInfo ↔ SmtpServerInfo
Information about the SMTP service
getter/setter pair

Methods

authenticate(String name, String password, [AuthMechanism authMechanism = AuthMechanism.plain]) → Future<SmtpResponse>
Signs in the user with the given name and password.
connect(Socket socket, {ConnectionInfo? connectionInformation}) → void
Starts to listen on the given socket.
inherited
connectToServer(String host, int port, {bool isSecure = true, Duration timeout = const Duration(seconds: 20)}) → Future<ConnectionInfo>
Connects to the specified server.
inherited
createClientError(String message) → Object
Subclasses need to be able to create client specific exceptions
disconnect() → Future<void>
Disconnects from the service
inherited
ehlo() → Future<SmtpResponse>
Issues the enhanced helo command to find out the service capabilities
log(dynamic logObject, {bool isClient = true, String? initial}) → void
Logs the data
inherited
logApp(dynamic logObject) → void
Logs the data from the app-side
inherited
logClient(dynamic logObject) → void
Logs the data from the client-side
inherited
logServer(dynamic logObject) → void
Logs the data from the server-side
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onConnectionDone() → void
Informs about a closed connection
inherited
onConnectionError(dynamic error) → void
Is called when the connection encountered an error
onConnectionEstablished(ConnectionInfo connectionInfo, String serverGreeting) → FutureOr<void>
Is called after the initial connection has been established
onDataReceived(Uint8List data) → void
Is called when data is received
onServerResponse(List<String> responseTexts) → void
Handles server responses
quit() → Future<SmtpResponse>
Signs the user out and terminates the connection
sendChunkedMessage(MimeMessage message, {required bool supportUnicode, bool use8BitEncoding = false, MailAddress? from, List<MailAddress>? recipients}) → Future<SmtpResponse>
Sends the specified message using the BDAT SMTP command.
sendChunkedMessageData(MimeData data, MailAddress from, List<MailAddress> recipients, {required bool supportUnicode, bool use8BitEncoding = false}) → Future<SmtpResponse>
Sends the specified message data from to the recipients using the BDAT SMTP command.
sendChunkedMessageText(String text, MailAddress from, List<MailAddress> recipients, {required bool supportUnicode, bool use8BitEncoding = false}) → Future<SmtpResponse>
Sends the specified message text from to the recipients using the BDAT SMTP command.
sendCommand(SmtpCommand command) → Future<SmtpResponse>
Sends the command to the server
sendMessage(MimeMessage message, {bool use8BitEncoding = false, MailAddress? from, List<MailAddress>? recipients}) → Future<SmtpResponse>
Sends the specified message.
sendMessageData(MimeData data, MailAddress from, List<MailAddress> recipients, {bool use8BitEncoding = false}) → Future<SmtpResponse>
Sends the specified message data from to the recipients.
sendMessageText(String text, MailAddress from, List<MailAddress> recipients, {bool use8BitEncoding = false}) → Future<SmtpResponse>
Sends the specified message text from to the recipients.
startTls() → Future<SmtpResponse>
Upgrades the current insure connection to SSL.
toString() → String
A string representation of this object.
inherited
upgradeToSslSocket() → Future<void>
Upgrades the current connection to a secure socket
inherited
writeData(List<int> data, [dynamic logObject]) → Future
Writes the specified data.
inherited
writeText(String text, [dynamic logObject, Duration? timeout]) → Future
Writes the specified text.
inherited

Operators

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