Zend\Mail\Transport\SmtpOptions¶
Overview¶
This document details the various options available to the Zend\Mail\Transport\Smtp mail transport.
Quick Start¶
Basic SMTP Transport Usage¶
1 2 3 4 5 6 7 8 9 10 11 | use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;
// Setup SMTP transport
$transport = new SmtpTransport();
$options = new SmtpOptions(array(
'name' => 'localhost.localdomain',
'host' => '127.0.0.1',
'port' => 25,
));
$transport->setOptions($options);
|
SMTP Transport Usage with PLAIN AUTH¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;
// Setup SMTP transport using PLAIN authentication
$transport = new SmtpTransport();
$options = new SmtpOptions(array(
'name' => 'localhost.localdomain',
'host' => '127.0.0.1',
'connection_class' => 'plain',
'connection_config' => array(
'username' => 'user',
'password' => 'pass',
),
));
$transport->setOptions($options);
|
SMTP Transport Usage with LOGIN AUTH¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;
// Setup SMTP transport using LOGIN authentication
$transport = new SmtpTransport();
$options = new SmtpOptions(array(
'name' => 'localhost.localdomain',
'host' => '127.0.0.1',
'connection_class' => 'login',
'connection_config' => array(
'username' => 'user',
'password' => 'pass',
),
));
$transport->setOptions($options);
|
SMTP Transport Usage with CRAM-MD5 AUTH¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;
// Setup SMTP transport using CRAM-MD5 authentication
$transport = new SmtpTransport();
$options = new SmtpOptions(array(
'name' => 'localhost.localdomain',
'host' => '127.0.0.1',
'connection_class' => 'crammd5',
'connection_config' => array(
'username' => 'user',
'password' => 'pass',
),
));
$transport->setOptions($options);
|
SMTP Transport Usage with PLAIN AUTH over TLS¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;
// Setup SMTP transport using PLAIN authentication over TLS
$transport = new SmtpTransport();
$options = new SmtpOptions(array(
'name' => 'example.com',
'host' => '127.0.0.1',
'port' => 587, // Notice port change for TLS is 587
'connection_class' => 'plain',
'connection_config' => array(
'username' => 'user',
'password' => 'pass',
'ssl' => 'tls',
),
));
$transport->setOptions($options);
|
Configuration Options¶
- name
- Name of the SMTP host; defaults to “localhost”.
- host
- Remote hostname or IP address; defaults to “127.0.0.1”.
- port
- Port on which the remote host is listening; defaults to “25”.
- connection_class
Fully-qualified classname or short name resolvable via Zend\Mail\Protocol\SmtpLoader. Typically, this will be one of “smtp”, “plain”, “login”, or “crammd5”, and defaults to “smtp”.
Typically, the connection class should extend the Zend\Mail\Protocol\AbstractProtocol class, and specifically the SMTP variant.
- connection_config
- Optional associative array of parameters to pass to the connection class in order to configure it. By default this is empty. For connection classes other than the default, you will typically need to define the “username” and “password” options. For secure connections you will use the “ssl” => “tls” and port 587 for TLS or “ssl” => “ssl” and port 465 for SSL.
Available Methods¶
- getName
getName()
Returns the string name of the local client hostname.
- setName
setName(string $name)
Set the string name of the local client hostname.
Implements a fluent interface.
- getConnectionClass
getConnectionClass()
Returns a string indicating the connection class name to use.
- setConnectionClass
setConnectionClass(string $connectionClass)
Set the connection class to use.
Implements a fluent interface.
- getConnectionConfig
getConnectionConfig()
Get configuration for the connection class.
Returns array.
- setConnectionConfig
setConnectionConfig(array $config)
Set configuration for the connection class. Typically, if using anything other than the default connection class, this will be an associative array with the keys “username” and “password”.
Implements a fluent interface.
- getHost
getHost()
Returns a string indicating the IP address or host name of the SMTP server via which to send messages.
- setHost
setHost(string $host)
Set the SMTP host name or IP address.
Implements a fluent interface.
- getPort
getPort()
Retrieve the integer port on which the SMTP host is listening.
- setPort
setPort(int $port)
Set the port on which the SMTP host is listening.
Implements a fluent interface.
- __construct
__construct(null|array|Traversable $config)
Instantiate the class, and optionally configure it with values provided.
Examples¶
Please see the Quick Start for examples.