Documentation

AbstractSmtp
in package
implements SmtpInterface, TransportInterface

Abstract SMTP transport class

Tags
category

Pop

author

Chris Corbyn, from the SwiftMailer library https://github.com/swiftmailer/swiftmailer

version
3.6.0

Interfaces, Classes and Traits

SmtpInterface
SMTP interface
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
__construct()  : mixed
Creates a new EsmtpTransport using the given I/O buffer.
__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.
getLocalDomain()  : string
Get the name of the domain Swift will identify as
getSourceIp()  : string
Returns the IP used to connect to the destination
isStarted()  : bool
Test if an SMTP connection has been established
reset()  : mixed
Reset the current mail transaction.
send()  : int
Send the given Message.
setLocalDomain()  : AbstractSmtp
Set the name of the local domain which Swift will identify itself as.
setSourceIp()  : mixed
Sets the source IP
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
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

Properties

$domain

The domain name to use in HELO command

protected string $domain = '[127.0.0.1]'

$started

Connection status

protected bool $started = false

Methods

__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

getLocalDomain()

Get the name of the domain Swift will identify as

public getLocalDomain() : string
Return values
string

getSourceIp()

Returns the IP used to connect to the destination

public getSourceIp() : string
Return values
string

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 given Message.

public send(Message $message) : 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 : Message
Tags
throws
Exception
Return values
int

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

setSourceIp()

Sets the source IP

public setSourceIp(string $source) : mixed
Parameters
$source : string
Return values
mixed

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
$address :
Return values
mixed

doRcptToCommand()

Send the RCPT TO command

protected doRcptToCommand( $address) : mixed
Parameters
$address :
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
throws
Exception
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

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

Search results