## Uses of Class
io.vertx.ext.mail.MailConfig

- Packages that use MailConfig
  Package | Description
  --- | ---
  io.vertx.ext.mail |
  io.vertx.ext.mail.mailencoder |
  io.vertx.reactivex.ext.mail |
  io.vertx.rxjava3.ext.mail |

- - ### Uses of MailConfig in io.vertx.ext.mail

    Methods in io.vertx.ext.mail that return MailConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `MailConfig` | MailConfig.`addCrlPath​(String crlPath)` |
    `MailConfig` | MailConfig.`addCrlValue​(Buffer crlValue)` |
    `MailConfig` | MailConfig.`addDKIMSignOption​(DKIMSignOptions dkimSignOptions)` | Adds a DKIMSignOptions.
    `MailConfig` | MailConfig.`addEnabledCipherSuite​(String suite)` |
    `MailConfig` | MailConfig.`addEnabledSecureTransportProtocol​(String protocol)` |
    `MailConfig` | MailConfig.`removeEnabledSecureTransportProtocol​(String protocol)` |
    `MailConfig` | MailConfig.`setAllowRcptErrors​(boolean allowRcptErrors)` | set if sending allows rcpt errors
    `MailConfig` | MailConfig.`setAuthMethods​(String authMethods)` | set string of allowed auth methods.
    `MailConfig` | MailConfig.`setConnectTimeout​(int connectTimeout)` |
    `MailConfig` | MailConfig.`setDisableEsmtp​(boolean disableEsmtp)` | set if ESMTP should be tried as first command (EHLO)
    `MailConfig` | MailConfig.`setDKIMSignOption​(DKIMSignOptions dkimSignOptions)` | Sets one DKIMSignOptions for convenient.
    `MailConfig` | MailConfig.`setDKIMSignOptions​(List<DKIMSignOptions> dkimSignOptions)` | Sets DKIMSignOptions.
    `MailConfig` | MailConfig.`setEnableDKIM​(boolean enableDKIM)` | Sets true to enable DKIM Signatures, sets false to disable it.
    `MailConfig` | MailConfig.`setEnabledSecureTransportProtocols​(Set<String> enabledSecureTransportProtocols)` |
    `MailConfig` | MailConfig.`setHostname​(String hostname)` | Set the hostname of the smtp server.
    `MailConfig` | MailConfig.`setHostnameVerificationAlgorithm​(String hostnameVerificationAlgorithm)` |
    `MailConfig` | MailConfig.`setIdleTimeout​(int idleTimeout)` |
    `MailConfig` | MailConfig.`setIdleTimeoutUnit​(TimeUnit idleTimeoutUnit)` |
    `MailConfig` | MailConfig.`setKeepAlive​(boolean keepAlive)` | set if connection pool is enabled default is true
    `MailConfig` | MailConfig.`setKeepAliveTimeout​(int keepAliveTimeout)` | Set the keep alive timeout for SMTP connection, Defaults in seconds.
    `MailConfig` | MailConfig.`setKeepAliveTimeoutUnit​(TimeUnit keepAliveTimeoutUnit)` | Sets `TimeUnit` of keeping connections in the pool alive.
    `MailConfig` | MailConfig.`setKeyCertOptions​(KeyCertOptions options)` |
    `MailConfig` | MailConfig.`setLocalAddress​(String localAddress)` |
    `MailConfig` | MailConfig.`setLogActivity​(boolean logEnabled)` |
    `MailConfig` | MailConfig.`setLogin​(LoginOption login)` | Set the login mode for the connection.
    `MailConfig` | MailConfig.`setMaxMailsPerConnection​(long maxMailsPerConnection)` | Sets the max emails count per connection before it gets closed.
    `MailConfig` | MailConfig.`setMaxPoolSize​(int maxPoolSize)` | set the max allowed number of open connections to the mail server if not set the default is 10
    `MailConfig` | MailConfig.`setMetricsName​(String metricsName)` |
    `MailConfig` | MailConfig.`setMultiPartOnly​(boolean multiPartOnly)` | Sets to encode multipart only or not.
    `MailConfig` | MailConfig.`setNtDomain​(String ntDomain)` | Sets the domain used on NTLM authentication
    `MailConfig` | MailConfig.`setOwnHostname​(String ownHostname)` | set the hostname to be used for HELO/EHLO and the Message-ID
    `MailConfig` | MailConfig.`setPassword​(String password)` | Set the password for the login.
    `MailConfig` | MailConfig.`setPipelining​(boolean pipelining)` | Sets to enable/disable the pipelining capability if SMTP server supports it.
    `MailConfig` | MailConfig.`setPoolCleanerPeriod​(int poolCleanerPeriod)` | Set the connection pool cleaner period, defaults in milli seconds, a non positive value disables expiration checks and connections will remain in the pool until they are closed.
    `MailConfig` | MailConfig.`setPoolCleanerPeriodUnit​(TimeUnit poolCleanerPeriodUnit)` | Sets the `TimeUnit` of pool cleaning period.
    `MailConfig` | MailConfig.`setPort​(int port)` | Set the port of the smtp server.
    `MailConfig` | MailConfig.`setProxyOptions​(ProxyOptions proxyOptions)` |
    `MailConfig` | MailConfig.`setReceiveBufferSize​(int receiveBufferSize)` |
    `MailConfig` | MailConfig.`setReconnectAttempts​(int attempts)` |
    `MailConfig` | MailConfig.`setReconnectInterval​(long interval)` |
    `MailConfig` | MailConfig.`setReuseAddress​(boolean reuseAddress)` |
    `MailConfig` | MailConfig.`setReusePort​(boolean reusePort)` |
    `MailConfig` | MailConfig.`setSendBufferSize​(int sendBufferSize)` |
    `MailConfig` | MailConfig.`setSoLinger​(int soLinger)` |
    `MailConfig` | MailConfig.`setSsl​(boolean isSsl)` |
    `MailConfig` | MailConfig.`setSslEngineOptions​(SSLEngineOptions sslEngineOptions)` |
    `MailConfig` | MailConfig.`setSslHandshakeTimeout​(long sslHandshakeTimeout)` |
    `MailConfig` | MailConfig.`setSslHandshakeTimeoutUnit​(TimeUnit sslHandshakeTimeoutUnit)` |
    `MailConfig` | MailConfig.`setStarttls​(StartTLSOptions starttls)` | Set the tls security mode for the connection.
    `MailConfig` | MailConfig.`setTcpCork​(boolean tcpCork)` |
    `MailConfig` | MailConfig.`setTcpFastOpen​(boolean tcpFastOpen)` |
    `MailConfig` | MailConfig.`setTcpKeepAlive​(boolean tcpKeepAlive)` |
    `MailConfig` | MailConfig.`setTcpNoDelay​(boolean tcpNoDelay)` |
    `MailConfig` | MailConfig.`setTcpQuickAck​(boolean tcpQuickAck)` |
    `MailConfig` | MailConfig.`setTrafficClass​(int trafficClass)` |
    `MailConfig` | MailConfig.`setTrustAll​(boolean trustAll)` |
    `MailConfig` | MailConfig.`setTrustOptions​(TrustOptions options)` |
    `MailConfig` | MailConfig.`setUseAlpn​(boolean useAlpn)` |
    `MailConfig` | MailConfig.`setUserAgent​(String userAgent)` | Sets the Mail User Agent(MUA) name.
    `MailConfig` | MailConfig.`setUsername​(String username)` | Set the username for the login.
    `MailConfig` | MailConfig.`setWorkstation​(String workstation)` | Sets the workstation used on NTLM authentication

    Methods in io.vertx.ext.mail with parameters of type MailConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MailClient` | MailClient.`create​(Vertx vertx, MailConfig config)` | Create a non shared instance of the mail client.
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config)` | Like `MailClient.createShared(io.vertx.core.Vertx, MailConfig, String)` but with the default pool name
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config, String poolName)` | Create a Mail client which shares its connection pool with any other Mail clients created with the same pool name

    Constructors in io.vertx.ext.mail with parameters of type MailConfig
    Constructor | Description
    --- | ---
    `MailConfig​(MailConfig other)` | copy config object from another MailConfig object

  - ### Uses of MailConfig in io.vertx.ext.mail.mailencoder

    Constructors in io.vertx.ext.mail.mailencoder with parameters of type MailConfig
    Constructor | Description
    --- | ---
    `MailEncoder​(MailMessage message, String hostname, MailConfig mailConfig)` | Creates a MailEncoder for the message.

  - ### Uses of MailConfig in io.vertx.reactivex.ext.mail

    Methods in io.vertx.reactivex.ext.mail with parameters of type MailConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MailClient` | MailClient.`create​(Vertx vertx, MailConfig config)` | Create a non shared instance of the mail client.
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config)` | Like `MailClient.createShared(io.vertx.reactivex.core.Vertx, io.vertx.ext.mail.MailConfig, java.lang.String)` but with the default pool name
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config, String poolName)` | Create a Mail client which shares its connection pool with any other Mail clients created with the same pool name

  - ### Uses of MailConfig in io.vertx.rxjava3.ext.mail

    Methods in io.vertx.rxjava3.ext.mail with parameters of type MailConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MailClient` | MailClient.`create​(Vertx vertx, MailConfig config)` | Create a non shared instance of the mail client.
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config)` | Like `MailClient.createShared(io.vertx.rxjava3.core.Vertx, io.vertx.ext.mail.MailConfig, java.lang.String)` but with the default pool name
    `static MailClient` | MailClient.`createShared​(Vertx vertx, MailConfig config, String poolName)` | Create a Mail client which shares its connection pool with any other Mail clients created with the same pool name