Smtp
        
        extends EsmtpTransport
    
    
            
            in package
            
        
    
            
            implements
                            TransportInterface                    
    
    
        
            SMTP transport class
Tags
Interfaces, Classes, Traits and Enums
- TransportInterface
 - Mail transport interface
 
Table of Contents
- $buffer : BufferInterface
 - Input-Output buffer for sending/receiving SMTP commands and responses
 - $domain : string
 - The domain name to use in HELO command
 - $sourceIp : string
 - Source IP
 - $started : bool
 - Connection status
 - $capabilities : array<string|int, mixed>
 - ESMTP capabilities
 - $handlers : array<string|int, mixed>
 - ESMTP extension handlers
 - $params : array<string|int, mixed>
 - Connection buffer parameters
 - __call() : mixed
 - Mixin handling method for ESMTP handlers
 - __construct() : mixed
 - Create a new SMTP transport
 - __destruct() : mixed
 - Destructor
 - executeCommand() : string
 - Run a command against the buffer, expecting the given response codes.
 - getBuffer() : BufferInterface
 - Get the IoBuffer where read/writes are occurring.
 - getEncryption() : string
 - Get the encryption type
 - getExtensionHandlers() : array<string|int, mixed>
 - Get ESMTP extension handlers
 - getHost() : string
 - Get the host to connect to
 - getLocalDomain() : string
 - Get the name of the domain Swift will identify as
 - getPort() : int
 - Get the port to connect to
 - getSourceIp() : string
 - Returns the IP used to connect to the destination
 - getStreamOptions() : array<string|int, mixed>
 - Returns the stream context options
 - getTimeout() : int
 - Get the connection timeout
 - isStarted() : bool
 - Test if an SMTP connection has been established
 - reset() : mixed
 - Reset the current mail transaction.
 - send() : int
 - Send the message
 - setEncryption() : EsmtpTransport
 - Set the encryption type (tls or ssl)
 - setExtensionHandlers() : EsmtpTransport
 - Set ESMTP extension handlers
 - setHost() : EsmtpTransport
 - Set the host to connect to
 - setLocalDomain() : AbstractSmtp
 - Set the name of the local domain which Swift will identify itself as.
 - setPort() : EsmtpTransport
 - Set the port to connect to
 - setSourceIp() : mixed
 - Sets the source IP
 - setStreamOptions() : EsmtpTransport
 - Sets the stream context options
 - setTimeout() : EsmtpTransport
 - Set the connection timeout
 - start() : mixed
 - Start the SMTP connection
 - stop() : mixed
 - Stop the SMTP connection.
 - assertResponseCode() : mixed
 - Throws an Exception if a response code is incorrect
 - doDataCommand() : mixed
 - Send the DATA command
 - doHeloCommand() : mixed
 - Send the HELO welcome
 - doMailFromCommand() : mixed
 - Send the MAIL FROM command
 - doRcptToCommand() : mixed
 - Send the RCPT TO command
 - getBufferParams() : mixed
 - Return an array of params for the Buffer
 - getFullResponse() : string
 - Get an entire multi-line response using its sequence number
 - getReversePath() : null|string
 - Determine the best-use reverse path for this message
 - readGreeting() : mixed
 - Read the opening SMTP greeting
 - streamMessage() : mixed
 - Stream the contents of the message over the buffer
 - throwException() : mixed
 - Throw a TransportException, first sending it to any listeners
 - doMailTransaction() : int
 - Send an email to the given recipients from the given reverse path
 - getActiveHandlers() : mixed
 - Get ESMTP handlers which are currently ok to use
 - getCapabilities() : array<string|int, mixed>
 - Determine ESMTP capabilities by function group
 - isFqdn() : bool
 - Determine is the $hostname is a fully-qualified name
 - lookupHostname() : mixed
 - Try to determine the hostname of the server this is run on
 - sendBcc() : int
 - Send a message to all Bcc: recipients
 - sendTo() : int
 - Send a message to the given To: recipients
 - setHandlerParams() : mixed
 - Set parameters which are used by each extension handler
 - sortHandlers() : int
 - Custom sort for extension handler ordering
 
Properties
$buffer
Input-Output buffer for sending/receiving SMTP commands and responses
    protected
        BufferInterface
    $buffer
    
    
    
    
$domain
The domain name to use in HELO command
    protected
        string
    $domain
     = '[127.0.0.1]'
    
    
    
$sourceIp
Source IP
    protected
        string
    $sourceIp
     = null
    
    
    
$started
Connection status
    protected
        bool
    $started
     = false
    
    
    
$capabilities
ESMTP capabilities
    private
        array<string|int, mixed>
    $capabilities
     = []
    
    
    
$handlers
ESMTP extension handlers
    private
        array<string|int, mixed>
    $handlers
     = []
    
    
    
$params
Connection buffer parameters
    private
        array<string|int, mixed>
    $params
     = ['protocol' => 'tcp', 'host' => 'localhost', 'port' => 25, 'timeout' => 30, 'blocking' => 1, 'tls' => false, 'type' => \Pop\Mail\Transport\Smtp\Stream\BufferInterface::TYPE_SOCKET, 'stream_context_options' => []]
    
    
    
Methods
__call()
Mixin handling method for ESMTP handlers
    public
                    __call( $method,  $args) : mixed
    
        Parameters
Tags
Return values
mixed —__construct()
Create a new SMTP transport
    public
                    __construct([string $host = 'localhost' ][, int $port = 25 ][, string $sec = null ][, BufferInterface $buffer = null ][, array<string|int, mixed> $handlers = null ]) : mixed
    
        Parameters
- $host : string = 'localhost'
 - 
                    
host
 - $port : int = 25
 - 
                    
port
 - $sec : string = null
 - 
                    
security
 - $buffer : BufferInterface = null
 - 
                    
buffer
 - $handlers : array<string|int, mixed> = null
 - 
                    
handlers
 
Return values
mixed —__destruct()
Destructor
    public
                    __destruct() : mixed
    
    
    
        Return values
mixed —executeCommand()
Run a command against the buffer, expecting the given response codes.
    public
                    executeCommand(string $command[, array<string|int, int> $codes = [] ]) : string
        If no response codes are given, the response will not be validated. If codes are given, an exception will be thrown on an invalid response.
Parameters
- $command : string
 - $codes : array<string|int, int> = []
 
Return values
string —getBuffer()
Get the IoBuffer where read/writes are occurring.
    public
                    getBuffer() : BufferInterface
    
    
    
        Return values
BufferInterface —getEncryption()
Get the encryption type
    public
                    getEncryption() : string
    
    
    
        Return values
string —getExtensionHandlers()
Get ESMTP extension handlers
    public
                    getExtensionHandlers() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —getHost()
Get the host to connect to
    public
                    getHost() : string
    
    
    
        Return values
string —getLocalDomain()
Get the name of the domain Swift will identify as
    public
                    getLocalDomain() : string
    
    
    
        Return values
string —getPort()
Get the port to connect to
    public
                    getPort() : int
    
    
    
        Return values
int —getSourceIp()
Returns the IP used to connect to the destination
    public
                    getSourceIp() : string
    
    
    
        Return values
string —getStreamOptions()
Returns the stream context options
    public
                    getStreamOptions() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —getTimeout()
Get the connection timeout
    public
                    getTimeout() : int
    
    
    
        Return values
int —isStarted()
Test if an SMTP connection has been established
    public
                    isStarted() : bool
    
    
    
        Return values
bool —reset()
Reset the current mail transaction.
    public
                    reset() : mixed
    
    
    
        Return values
mixed —send()
Send the message
    public
                    send(Message $message) : int
    
        Parameters
- $message : Message
 
Return values
int —setEncryption()
Set the encryption type (tls or ssl)
    public
                    setEncryption(string $encryption) : EsmtpTransport
    
        Parameters
- $encryption : string
 
Return values
EsmtpTransport —setExtensionHandlers()
Set ESMTP extension handlers
    public
                    setExtensionHandlers(array<string|int, mixed> $handlers) : EsmtpTransport
    
        Parameters
- $handlers : array<string|int, mixed>
 
Return values
EsmtpTransport —setHost()
Set the host to connect to
    public
                    setHost(string $host) : EsmtpTransport
    
        Parameters
- $host : string
 
Return values
EsmtpTransport —setLocalDomain()
Set the name of the local domain which Swift will identify itself as.
    public
                    setLocalDomain(string $domain) : AbstractSmtp
        This should be a fully-qualified domain name and should be truly the domain you're using.
If your server doesn't have a domain name, use the IP in square brackets (i.e. [127.0.0.1]).
Parameters
- $domain : string
 
Return values
AbstractSmtp —setPort()
Set the port to connect to
    public
                    setPort(int $port) : EsmtpTransport
    
        Parameters
- $port : int
 
Return values
EsmtpTransport —setSourceIp()
Sets the source IP
    public
                    setSourceIp(string $source) : mixed
    
        Parameters
- $source : string
 
Return values
mixed —setStreamOptions()
Sets the stream context options
    public
                    setStreamOptions(array<string|int, mixed> $options) : EsmtpTransport
    
        Parameters
- $options : array<string|int, mixed>
 
Return values
EsmtpTransport —setTimeout()
Set the connection timeout
    public
                    setTimeout(int $timeout) : EsmtpTransport
    
        Parameters
- $timeout : int
 - 
                    
seconds
 
Return values
EsmtpTransport —start()
Start the SMTP connection
    public
                    start() : mixed
    
    
    
        Return values
mixed —stop()
Stop the SMTP connection.
    public
                    stop() : mixed
    
    
    
        Return values
mixed —assertResponseCode()
Throws an Exception if a response code is incorrect
    protected
                    assertResponseCode(string $response, string $wanted) : mixed
    
        Parameters
- $response : string
 - $wanted : string
 
Return values
mixed —doDataCommand()
Send the DATA command
    protected
                    doDataCommand() : mixed
    
    
    
        Return values
mixed —doHeloCommand()
Send the HELO welcome
    protected
                    doHeloCommand() : mixed
    
    
    
        Return values
mixed —doMailFromCommand()
Send the MAIL FROM command
    protected
                    doMailFromCommand( $address) : mixed
    
        Parameters
Return values
mixed —doRcptToCommand()
Send the RCPT TO command
    protected
                    doRcptToCommand( $address) : mixed
    
        Parameters
Return values
mixed —getBufferParams()
Return an array of params for the Buffer
    protected
    abstract                getBufferParams() : mixed
    
    
    
        Return values
mixed —getFullResponse()
Get an entire multi-line response using its sequence number
    protected
                    getFullResponse(string $seq) : string
    
        Parameters
- $seq : string
 
Return values
string —getReversePath()
Determine the best-use reverse path for this message
    protected
                    getReversePath(Message $message) : null|string
    
        Parameters
- $message : Message
 
Return values
null|string —readGreeting()
Read the opening SMTP greeting
    protected
                    readGreeting() : mixed
    
    
    
        Return values
mixed —streamMessage()
Stream the contents of the message over the buffer
    protected
                    streamMessage(Message $message) : mixed
    
        Parameters
- $message : Message
 
Return values
mixed —throwException()
Throw a TransportException, first sending it to any listeners
    protected
                    throwException(Exception $e) : mixed
    
        Parameters
- $e : Exception
 
Tags
Return values
mixed —doMailTransaction()
Send an email to the given recipients from the given reverse path
    private
                    doMailTransaction(Message $message, string $reversePath, array<string|int, mixed> $recipients) : int
    
        Parameters
- $message : Message
 - $reversePath : string
 - $recipients : array<string|int, mixed>
 
Return values
int —getActiveHandlers()
Get ESMTP handlers which are currently ok to use
    private
                    getActiveHandlers() : mixed
    
    
    
        Return values
mixed —getCapabilities()
Determine ESMTP capabilities by function group
    private
                    getCapabilities(string $ehloResponse) : array<string|int, mixed>
    
        Parameters
- $ehloResponse : string
 
Return values
array<string|int, mixed> —isFqdn()
Determine is the $hostname is a fully-qualified name
    private
                    isFqdn(string $hostname) : bool
    
        Parameters
- $hostname : string
 
Return values
bool —lookupHostname()
Try to determine the hostname of the server this is run on
    private
                    lookupHostname() : mixed
    
    
    
        Return values
mixed —sendBcc()
Send a message to all Bcc: recipients
    private
                    sendBcc(Message $message, string $reversePath, array<string|int, mixed> $bcc) : int
    
        Parameters
- $message : Message
 - $reversePath : string
 - $bcc : array<string|int, mixed>
 
Return values
int —sendTo()
Send a message to the given To: recipients
    private
                    sendTo(Message $message, string $reversePath, array<string|int, mixed> $to) : int
    
        Parameters
- $message : Message
 - $reversePath : string
 - $to : array<string|int, mixed>
 
Return values
int —setHandlerParams()
Set parameters which are used by each extension handler
    private
                    setHandlerParams() : mixed
    
    
    
        Return values
mixed —sortHandlers()
Custom sort for extension handler ordering
    private
                    sortHandlers(HandlerInterface $a, HandlerInterface $b) : int
    
        Parameters
- $a : HandlerInterface
 - $b : HandlerInterface