Documentation

Swift_SmtpTransport extends Swift_Transport_EsmtpTransport
in package

Sends Messages over SMTP with ESMTP support.

Tags
author

Chris Corbyn

Table of Contents

$addressEncoder  : mixed
$buffer  : mixed
Input-Output buffer for sending/receiving SMTP commands and responses
$domain  : mixed
The domain name to use in HELO command
$eventDispatcher  : mixed
The event dispatching layer
$pipeline  : mixed
The pipelined commands waiting for response
$pipelining  : mixed
Whether the PIPELINING SMTP extension is enabled (RFC 2920)
$sourceIp  : mixed
Source Ip
$started  : mixed
Connection status
$capabilities  : array<string|int, string>
ESMTP capabilities.
$handlers  : array<string|int, Swift_Transport_EsmtpHandler>
ESMTP extension handlers.
$params  : array<string|int, mixed>
Connection buffer parameters.
__call()  : mixed
Mixin handling method for ESMTP handlers
__construct()  : mixed
Creates a new EsmtpTransport using the given I/O buffer.
__destruct()  : mixed
Destructor.
executeCommand()  : string|null
Run a command against the buffer, expecting the given response codes.
getAddressEncoder()  : mixed
getAuthMode()  :
getBuffer()  : Swift_Transport_IoBuffer
Get the IoBuffer where read/writes are occurring.
getEncryption()  : string
Get the encryption type.
getExtensionHandlers()  : array<string|int, Swift_Transport_EsmtpHandler>
Get ESMTP extension handlers.
getHost()  : string
Get the host to connect to.
getLocalDomain()  : string
Get the name of the domain Swift will identify as.
getPassword()  :
getPipelining()  : bool|null
Returns whether SMTP pipelining is enabled.
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.
getUsername()  :
isStarted()  : bool
Test if an SMTP connection has been established.
ping()  : bool
Check if this Transport mechanism is alive.
registerPlugin()  : mixed
Register a plugin.
reset()  : mixed
Reset the current mail transaction.
send()  : int
Send the given Message.
setAddressEncoder()  : mixed
setAuthMode()  :
setEncryption()  : $this
Set the encryption type (tls or ssl).
setExtensionHandlers()  : $this
Set ESMTP extension handlers.
setHost()  : $this
Set the host to connect to.
setLocalDomain()  : $this
Set the name of the local domain which Swift will identify itself as.
setPassword()  :
setPipelining()  : $this
Sets whether SMTP pipelining is enabled.
setPort()  : $this
Set the port to connect to.
setSourceIp()  : mixed
Sets the source IP.
setStreamOptions()  : $this
Sets the stream context options.
setTimeout()  : $this
Set the connection timeout.
setUsername()  :
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()  : mixed
Get an entire multi-line response using its sequence number
getReversePath()  : mixed
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()  : mixed
Send an email to the given recipients from the given reverse path
getActiveHandlers()  : mixed
Get ESMTP handlers which are currently ok to use
getCapabilities()  : mixed
Determine ESMTP capabilities by function group
sendBcc()  : mixed
Send a message to all Bcc: recipients
sendTo()  : mixed
Send a message to the given To: recipients
setHandlerParams()  : mixed
Set parameters which are used by each extension handler

Properties

$buffer

Input-Output buffer for sending/receiving SMTP commands and responses

protected mixed $buffer

$pipelining

Whether the PIPELINING SMTP extension is enabled (RFC 2920)

protected mixed $pipelining = ull

$capabilities

ESMTP capabilities.

private array<string|int, string> $capabilities = []

$params

Connection buffer parameters.

private array<string|int, mixed> $params = ['protocol' => 'tcp', 'host' => 'localhost', 'port' => 25, 'timeout' => 30, 'blocking' => 1, 'tls' => alse, 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, 'stream_context_options' => []]

Methods

__call()

Mixin handling method for ESMTP handlers

public __call(mixed $method, mixed $args) : mixed
Parameters
$method : mixed
$args : mixed
Return values
mixed

__construct()

Creates a new EsmtpTransport using the given I/O buffer.

public __construct([string $host = 'localhost' ][, int $port = 25 ][, string $encryption = null ]) : mixed
Parameters
$host : string = 'localhost'
$port : int = 25
$encryption : string = null
Return values
mixed

executeCommand()

Run a command against the buffer, expecting the given response codes.

public executeCommand(string $command[, array<string|int, int> $codes = [] ][, array<string|int, string> &$failures = null ][, bool $pipeline = false ][, string $address = null ]) : string|null

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. If the command is RCPT TO, and the pipeline is non-empty, no exception will be thrown; instead the failing address is added to $failures.

Parameters
$command : string
$codes : array<string|int, int> = []
$failures : array<string|int, string> = null

An array of failures by-reference

$pipeline : bool = false

Do not wait for response

$address : string = null

The address, if command is RCPT TO.

Return values
string|null

The server response, or null if pipelining is enabled

getAuthMode()

public getAuthMode() :

Get the auth mode to use to authenticate.

Return values

getEncryption()

Get the encryption type.

public getEncryption() : string
Return values
string

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

If an IP address was specified, this will be returned wrapped in square brackets as described in RFC 5321, section 4.1.3.

Return values
string

getPassword()

public getPassword() :

Get the password to authenticate with.

Return values

getPipelining()

Returns whether SMTP pipelining is enabled.

public getPipelining() : bool|null
Return values
bool|null

a boolean if pipelining is explicitly enabled or disabled, or null if support is auto-detected.

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

getUsername()

public getUsername() :

Get the username to authenticate with.

Return values

isStarted()

Test if an SMTP connection has been established.

public isStarted() : bool
Return values
bool

ping()

Check if this Transport mechanism is alive.

public ping() : bool
Return values
bool

TRUE if the transport is alive

send()

Send the given Message.

public send(Swift_Mime_SimpleMessage $message[, array<string|int, string> &$failedRecipients = null ]) : int

Recipient/sender data will be retrieved from the Message API. The return value is the number of recipients who were accepted for delivery.

Parameters
$message : Swift_Mime_SimpleMessage
$failedRecipients : array<string|int, string> = null

An array of failures by-reference

Return values
int

setAuthMode()

public setAuthMode(string $mode) :

Set the auth mode to use to authenticate.

Parameters
$mode : string
Return values

setEncryption()

Set the encryption type (tls or ssl).

public setEncryption(string $encryption) : $this
Parameters
$encryption : string
Return values
$this

setHost()

Set the host to connect to.

public setHost(string $host) : $this

Literal IPv6 addresses should be wrapped in square brackets.

Parameters
$host : string
Return values
$this

setLocalDomain()

Set the name of the local domain which Swift will identify itself as.

public setLocalDomain(string $domain) : $this

This should be a fully-qualified domain name and should be truly the domain you're using.

If your server does not have a domain name, use the IP address. This will automatically be wrapped in square brackets as described in RFC 5321, section 4.1.3.

Parameters
$domain : string
Return values
$this

setPassword()

public setPassword(string $password) :

Set the password to authenticate with.

Parameters
$password : string
Return values

setPipelining()

Sets whether SMTP pipelining is enabled.

public setPipelining(bool $enabled) : $this

By default, support is auto-detected using the PIPELINING SMTP extension. Use this function to override that in the unlikely event of compatibility issues.

Parameters
$enabled : bool
Return values
$this

setPort()

Set the port to connect to.

public setPort(int $port) : $this
Parameters
$port : int
Return values
$this

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) : $this
Parameters
$options : array<string|int, mixed>
Return values
$this

setTimeout()

Set the connection timeout.

public setTimeout(int $timeout) : $this
Parameters
$timeout : int

seconds

Return values
$this

setUsername()

public setUsername(string $username) :

Set the username to authenticate with.

Parameters
$username : string
Return values

assertResponseCode()

Throws an Exception if a response code is incorrect

protected assertResponseCode(mixed $response, mixed $wanted) : mixed
Parameters
$response : mixed
$wanted : mixed
Return values
mixed

doDataCommand()

Send the DATA command

protected doDataCommand(mixed &$failedRecipients) : mixed
Parameters
$failedRecipients : mixed
Return values
mixed

doHeloCommand()

Send the HELO welcome

protected doHeloCommand() : mixed
Return values
mixed

doMailFromCommand()

Send the MAIL FROM command

protected doMailFromCommand(mixed $address) : mixed
Parameters
$address : mixed
Return values
mixed

doRcptToCommand()

Send the RCPT TO command

protected doRcptToCommand(mixed $address) : mixed
Parameters
$address : mixed
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(mixed $seq) : mixed
Parameters
$seq : mixed
Return values
mixed

readGreeting()

Read the opening SMTP greeting

protected readGreeting() : mixed
Return values
mixed

doMailTransaction()

Send an email to the given recipients from the given reverse path

private doMailTransaction(mixed $message, mixed $reversePath, array<string|int, mixed> $recipients, array<string|int, mixed> &$failedRecipients) : mixed
Parameters
$message : mixed
$reversePath : mixed
$recipients : array<string|int, mixed>
$failedRecipients : array<string|int, mixed>
Return values
mixed

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(mixed $ehloResponse) : mixed
Parameters
$ehloResponse : mixed
Return values
mixed

sendBcc()

Send a message to all Bcc: recipients

private sendBcc(Swift_Mime_SimpleMessage $message, mixed $reversePath, array<string|int, mixed> $bcc, array<string|int, mixed> &$failedRecipients) : mixed
Parameters
$message : Swift_Mime_SimpleMessage
$reversePath : mixed
$bcc : array<string|int, mixed>
$failedRecipients : array<string|int, mixed>
Return values
mixed

sendTo()

Send a message to the given To: recipients

private sendTo(Swift_Mime_SimpleMessage $message, mixed $reversePath, array<string|int, mixed> $to, array<string|int, mixed> &$failedRecipients) : mixed
Parameters
$message : Swift_Mime_SimpleMessage
$reversePath : mixed
$to : array<string|int, mixed>
$failedRecipients : array<string|int, mixed>
Return values
mixed

setHandlerParams()

Set parameters which are used by each extension handler

private setHandlerParams() : mixed
Return values
mixed

Search results