vertx / io.vertx.kotlin.ext.mail / mailConfigOf

# mailConfigOf

`fun mailConfigOf(allowRcptErrors: Boolean? = null, authMethods: String? = null, connectTimeout: Int? = null, crlPaths: Iterable<String>? = null, crlValues: Iterable<Buffer>? = null, disableEsmtp: Boolean? = null, dkimSignOption: DKIMSignOptions? = null, dkimSignOptions: Iterable<DKIMSignOptions>? = null, enableDKIM: Boolean? = null, enabledCipherSuites: Iterable<String>? = null, enabledSecureTransportProtocols: Iterable<String>? = null, hostname: String? = null, hostnameVerificationAlgorithm: String? = null, idleTimeout: Int? = null, idleTimeoutUnit: TimeUnit? = null, jdkSslEngineOptions: JdkSSLEngineOptions? = null, keepAlive: Boolean? = null, keyCertOptions: KeyCertOptions? = null, keyStore: String? = null, keyStoreOptions: JksOptions? = null, keyStorePassword: String? = null, localAddress: String? = null, logActivity: Boolean? = null, login: LoginOption? = null, maxPoolSize: Int? = null, metricsName: String? = null, openSslEngineOptions: OpenSSLEngineOptions? = null, ownHostname: String? = null, password: String? = null, pemKeyCertOptions: PemKeyCertOptions? = null, pemTrustOptions: PemTrustOptions? = null, pfxKeyCertOptions: PfxOptions? = null, pfxTrustOptions: PfxOptions? = null, pipelining: Boolean? = null, port: Int? = null, proxyOptions: ProxyOptions? = null, receiveBufferSize: Int? = null, reconnectAttempts: Int? = null, reconnectInterval: Long? = null, reuseAddress: Boolean? = null, reusePort: Boolean? = null, sendBufferSize: Int? = null, soLinger: Int? = null, ssl: Boolean? = null, sslEngineOptions: SSLEngineOptions? = null, sslHandshakeTimeout: Long? = null, sslHandshakeTimeoutUnit: TimeUnit? = null, starttls: StartTLSOptions? = null, tcpCork: Boolean? = null, tcpFastOpen: Boolean? = null, tcpKeepAlive: Boolean? = null, tcpNoDelay: Boolean? = null, tcpQuickAck: Boolean? = null, trafficClass: Int? = null, trustAll: Boolean? = null, trustOptions: TrustOptions? = null, trustStoreOptions: JksOptions? = null, useAlpn: Boolean? = null, userAgent: String? = null, username: String? = null): MailConfig`

A function providing a DSL for building io.vertx.ext.mail.MailConfig objects.

represents the configuration of a mail service with mail server hostname, port, security options, login options and login/password

### Parameters

`allowRcptErrors` - set if sending allows rcpt errors if true, the mail will be sent to the recipients that the server accepted, if any

`authMethods` - set string of allowed auth methods. if set only these methods will be used if the server supports them. If null or empty all supported methods may be used

`connectTimeout` - Set the connect timeout

`crlPaths` - Add a CRL path

`crlValues` - Add a CRL value

`disableEsmtp` - set if ESMTP should be tried as first command (EHLO) rfc 1869 states that clients should always attempt EHLO as first command to determine if ESMTP is supported, if this returns an error code, HELO is tried to use old SMTP. If there is a server that does not support EHLO and does not give an error code back, the connection should be closed and retried with HELO. We do not do that and rather support turning off ESMTP with a setting. The odds of this actually happening are very small since the client will not connect to arbitrary smtp hosts on the internet. Since the client knows that is connects to a host that doesn't support ESMTP/EHLO in that way, the property has to be set to false.

`dkimSignOption` - Sets one DKIMSignOptions for convenient.

`dkimSignOptions` - Sets DKIMSignOptions.

`enableDKIM` - Sets true to enable DKIM Signatures, sets false to disable it. This is used most for temporary disable DKIM without removing DKIM opations from current config.

`enabledCipherSuites` - Add an enabled cipher suite, appended to the ordered suites.

`enabledSecureTransportProtocols` - Sets the list of enabled SSL/TLS protocols.

`hostname` - Set the hostname of the smtp server.

`hostnameVerificationAlgorithm` - Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String

`idleTimeout` - Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use io.vertx.ext.mail.MailConfig

`idleTimeoutUnit` - Set the idle timeout unit. If not specified, default is seconds.

`jdkSslEngineOptions` -

`keepAlive` - set if connection pool is enabled default is true if the connection pooling is disabled, the max number of sockets is enforced nevertheless

`keyCertOptions` - Set the key/cert options.

`keyStore` - get the key store filename to be used when opening SMTP connections if not set, an options object will be created based on other settings (ssl and trustAll)

`keyStoreOptions` - Set the key/cert options in jks format, aka Java keystore.

`keyStorePassword` - get the key store password to be used when opening SMTP connections

`localAddress` - Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.

`logActivity` - Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.

`login` - Set the login mode for the connection. Either DISABLED, OPTIONAL or REQUIRED

`maxPoolSize` - set the max allowed number of open connections to the mail server if not set the default is 10

`metricsName` - Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.

`openSslEngineOptions` -

`ownHostname` - set the hostname to be used for HELO/EHLO and the Message-ID

`password` - Set the password for the login.

`pemKeyCertOptions` - Set the key/cert store options in pem format.

`pemTrustOptions` - Set the trust options in pem format

`pfxKeyCertOptions` - Set the key/cert options in pfx format.

`pfxTrustOptions` - Set the trust options in pfx format

`pipelining` - Sets to enable/disable the pipelining capability if SMTP server supports it.

`port` - Set the port of the smtp server.

`proxyOptions` - Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.

`receiveBufferSize` - Set the TCP receive buffer size

`reconnectAttempts` - Set the value of reconnect attempts

`reconnectInterval` - Set the reconnect interval

`reuseAddress` - Set the value of reuse address

`reusePort` - Set the value of reuse port. This is only supported by native transports.

`sendBufferSize` - Set the TCP send buffer size

`soLinger` - Set whether SO_linger keep alive is enabled

`ssl` - Set whether SSL/TLS is enabled

`sslEngineOptions` - Set to use SSL engine implementation to use.

`sslHandshakeTimeout` - Set the SSL handshake timeout, default time unit is seconds.

`sslHandshakeTimeoutUnit` - Set the SSL handshake timeout unit. If not specified, default is seconds.

`starttls` - Set the tls security mode for the connection. Either NONE, OPTIONAL or REQUIRED

`tcpCork` - Enable the TCP_CORK option - only with linux native transport.

`tcpFastOpen` - Enable the TCP_FASTOPEN option - only with linux native transport.

`tcpKeepAlive` - Set whether TCP keep alive is enabled

`tcpNoDelay` - Set whether TCP no delay is enabled

`tcpQuickAck` - Enable the TCP_QUICKACK option - only with linux native transport.

`trafficClass` - Set the value of traffic class

`trustAll` - Set whether all server certificates should be trusted

`trustOptions` - Set the trust options.

`trustStoreOptions` - Set the trust options in jks format, aka Java truststore

`useAlpn` - Set the ALPN usage.

`userAgent` - Sets the Mail User Agent(MUA) name. It is used to generate the boundary in case of MultiPart email and the Message-ID. If null is set, DEFAULT_USER_AGENT is used.

`username` - Set the username for the login.