Class MailpitContainer

java.lang.Object
org.testcontainers.containers.GenericContainer<MailpitContainer>
ch.martinelli.oss.testcontainers.mailpit.MailpitContainer
All Implemented Interfaces:
AutoCloseable, org.testcontainers.containers.Container<MailpitContainer>, org.testcontainers.containers.ContainerState, org.testcontainers.containers.traits.LinkableContainer, org.testcontainers.containers.wait.strategy.WaitStrategyTarget, org.testcontainers.lifecycle.Startable

public class MailpitContainer extends org.testcontainers.containers.GenericContainer<MailpitContainer>
Testcontainers implementation for Mailpit.

Mailpit is an email and SMTP testing tool with API for developers. It runs a simple SMTP server which catches any message sent to it and displays it in a web interface.

Exposed ports:

  • 1025 - SMTP port for sending emails
  • 8025 - HTTP port for the web interface and REST API
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.testcontainers.containers.Container

    org.testcontainers.containers.Container.ExecResult
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     

    Fields inherited from class org.testcontainers.containers.GenericContainer

    CONTAINER_RUNNING_TIMEOUT_SEC, dependencies, dockerClient, INTERNAL_HOST_HOSTNAME, waitStrategy

    Fields inherited from interface org.testcontainers.containers.ContainerState

    STATE_HEALTHY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    MailpitContainer(String dockerImageName)
     
    MailpitContainer(org.testcontainers.utility.DockerImageName dockerImageName)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns a MailpitClient for interacting with the Mailpit REST API.
    int
    Returns the mapped HTTP port for the web interface and REST API.
    Returns the base URL for the Mailpit web interface and REST API.
    Returns the SMTP host address.
    int
    Returns the mapped SMTP port for sending emails.

    Methods inherited from class org.testcontainers.containers.GenericContainer

    addEnv, addExposedPort, addExposedPorts, addFileSystemBind, addFixedExposedPort, addFixedExposedPort, addLink, canBeReused, configure, containerIsCreated, containerIsStarted, containerIsStarted, containerIsStarting, containerIsStarting, containerIsStopped, containerIsStopping, copyFileFromContainer, createVolumeDirectory, dependsOn, dependsOn, dependsOn, doStart, equals, getBinds, getCommandParts, getContainerId, getContainerInfo, getContainerName, getCopyToFileContainerPathMap, getCreateContainerCmdModifiers, getDependencies, getDockerClient, getDockerImageName, getEnv, getEnvMap, getExposedPorts, getExtraHosts, getImage, getIpAddress, getLabels, getLinkedContainers, getLivenessCheckPort, getLivenessCheckPortNumbers, getLivenessCheckPorts, getLogConsumers, getNetwork, getNetworkAliases, getNetworkMode, getPortBindings, getShmSize, getStartupAttempts, getStartupCheckStrategy, getTestHostIpAddress, getTmpFsMapping, getVolumesFroms, getWaitStrategy, getWorkingDirectory, hashCode, isHostAccessible, isPrivilegedMode, isShouldBeReused, logger, setBinds, setCommand, setCommand, setCommandParts, setContainerDef, setCopyToFileContainerPathMap, setDockerImageName, setEnv, setExposedPorts, setExtraHosts, setHostAccessible, setImage, setLabels, setLinkedContainers, setLogConsumers, setNetwork, setNetworkAliases, setNetworkMode, setPortBindings, setPrivilegedMode, setShmSize, setStartupAttempts, setStartupCheckStrategy, setTmpFsMapping, setVolumesFroms, setWaitStrategy, setWorkingDirectory, start, stop, toString, waitingFor, waitUntilContainerStarted, withAccessToHost, withClasspathResourceMapping, withClasspathResourceMapping, withCommand, withCommand, withCopyFileToContainer, withCopyToContainer, withCreateContainerCmdModifier, withEnv, withEnv, withExposedPorts, withExtraHost, withFileSystemBind, withImagePullPolicy, withLabel, withLabels, withLogConsumer, withMinimumRunningDuration, withNetwork, withNetworkAliases, withNetworkMode, withPrivilegedMode, withReuse, withSharedMemorySize, withStartupAttempts, withStartupCheckStrategy, withStartupTimeout, withTmpFs, withVolumesFrom, withWorkingDirectory

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.testcontainers.containers.Container

    addFileSystemBind, followOutput, followOutput, self, withEnv, withFileSystemBind

    Methods inherited from interface org.testcontainers.containers.ContainerState

    copyFileFromContainer, copyFileToContainer, copyFileToContainer, execInContainer, execInContainer, execInContainer, execInContainer, execInContainerWithUser, execInContainerWithUser, getBoundPortNumbers, getContainerIpAddress, getCurrentContainerInfo, getFirstMappedPort, getHost, getLogs, getLogs, getMappedPort, isCreated, isHealthy, isRunning

    Methods inherited from interface org.testcontainers.lifecycle.Startable

    close
  • Field Details

  • Constructor Details

    • MailpitContainer

      public MailpitContainer()
    • MailpitContainer

      public MailpitContainer(String dockerImageName)
    • MailpitContainer

      public MailpitContainer(org.testcontainers.utility.DockerImageName dockerImageName)
  • Method Details

    • getSmtpPort

      public int getSmtpPort()
      Returns the mapped SMTP port for sending emails.
      Returns:
      the mapped SMTP port
    • getHttpPort

      public int getHttpPort()
      Returns the mapped HTTP port for the web interface and REST API.
      Returns:
      the mapped HTTP port
    • getSmtpHost

      public String getSmtpHost()
      Returns the SMTP host address.
      Returns:
      the SMTP host
    • getHttpUrl

      public String getHttpUrl()
      Returns the base URL for the Mailpit web interface and REST API.
      Returns:
      the base URL (e.g., "http://localhost:32789")
    • getClient

      public MailpitClient getClient()
      Returns a MailpitClient for interacting with the Mailpit REST API.
      Returns:
      a new MailpitClient instance