PHP Class Horde_Smtp, horde
Implements the following SMTP-related RFCs:
- RFC 1870/STD 10: Message Size Declaration
- RFC 2034: Enhanced-Status-Codes
- RFC 2195: CRAM-MD5 (SASL Authentication)
- RFC 2595/4616: TLS & PLAIN (SASL Authentication)
- RFC 2831: DIGEST-MD5 authentication mechanism (obsoleted by RFC 6331)
- RFC 2920/STD 60: Pipelining
- RFC 3207: Secure SMTP over TLS
- RFC 3463: Enhanced Mail System Status Codes
- RFC 4422: SASL Authentication (for DIGEST-MD5)
- RFC 4954: Authentication
- RFC 5321: Simple Mail Transfer Protocol
- RFC 6152/STD 71: 8bit-MIMEtransport
- RFC 6409/STD 72: Message Submission for Mail
- RFC 6531: Internationalized Email
- XOAUTH2: https://developers.google.com/gmail/xoauth2_protocol
TODO:
- RFC 1845: CHECKPOINT
- RFC 2852: DELIVERYBY
- RFC 3030: BINARYMIME/CHUNKING
- RFC 3461: DSN
- RFC 3865: NO-SOLICITING
- RFC 3885: MTRK
- RFC 4141: CONPERM/CONNEG
- RFC 4405: SUBMITTER
- RFC 4468: BURL
- RFC 4865: FUTURERELEASE
- RFC 6710: MT-PRIORITY
- RFC 7293: RRVS
Afficher le fichier
Open project: horde/horde
Class Usage Examples
Protected Properties
Méthodes publiques
Méthodes protégées
Method Details
This object can not be cloned.
__construct()
public méthode
public __construct ( array $params = [] ) |
$params |
array |
Configuration parameters:
- chunk_size: (integer) If CHUNKING is supported on the server, the
chunk size (in octets) to send. 0 will disable chunking.
@since 1.7.0
- context: (array) Any context parameters passed to
stream_create_context(). @since 1.9.0
- debug: (string) If set, will output debug information to the stream
provided. The value can be any PHP supported wrapper that
can be opened via fopen().
DEFAULT: No debug output
- host: (string) The SMTP server.
DEFAULT: localhost
- localhost: (string) The hostname of the localhost. (since 1.9.0)
DEFAULT: Auto-determined.
- password: (mixed) The SMTP password or a Horde_Smtp_Password object
(since 1.1.0).
DEFAULT: NONE
- port: (string) The SMTP port.
DEFAULT: 587 (See RFC 6409/STD 72)
- secure: (string) Use SSL or TLS to connect.
DEFAULT: true (use 'tls' option, if available)
- false (No encryption)
- 'ssl' (Auto-detect SSL version)
- 'sslv2' (Force SSL version 2)
- 'sslv3' (Force SSL version 3)
- 'tls' (TLS; started via protocol-level negotation over
unencrypted channel; RECOMMENDED way of initiating secure
connection)
- 'tlsv1' (TLS direct version 1.x connection to server) [@since
1.3.0]
- true (Use TLS, if available) [@since 1.2.0]
- timeout: (integer) Connection timeout, in seconds.
DEFAULT: 30 seconds
- username: (string) The SMTP username.
DEFAULT: NONE
- xoauth2_token: (string) If set, will authenticate via the XOAUTH2
mechanism (if available) with this token. Either a
string or a Horde_Smtp_Password object (since 1.1.0). |
_auth()
protected méthode
Authenticate user to server for a given method.
_getEncryptKey()
protected méthode
_getHostname()
protected méthode
Return the local hostname.
_getResponse()
protected méthode
Gets a line from the incoming stream and parses it.
protected _getResponse ( mixed $code, array $opts = [] ) : array |
$code |
mixed |
Expected reply code(s) (integer or array). |
$opts |
array |
Additional options:
- error: (string) On error, 'logout' or 'reset'?
- exception: (string) Throw an exception of this class on error.
|
Résultat |
array |
An array with the response text. |
_hello()
protected méthode
Send "Hello" command to the server.
_initOb()
protected méthode
_processData()
protected méthode
Process the return from the DATA command.
_startTls()
protected méthode
Starts the TLS connection to the server, if necessary. See RFC 3207.
getParam()
public méthode
Returns a value from the internal params array.
isSecureConnection()
public méthode
Display if connection to the server has been secured via TLS or SSL.
Connect/login to the SMTP server.
Logout from the SMTP server.
processQueue()
public méthode
Send request to process the remote queue.
queryExtension()
public méthode
Returns whether the SMTP server supports the given extension.
public queryExtension ( string $ext ) : mixed |
$ext |
string |
The extension to query. |
Résultat |
mixed |
False if the server doesn't support the extension;
otherwise, the extension value (returns true if the
extension only supports existence). |
resetCmd()
public méthode
public send ( mixed $from, mixed $to, mixed $data, array $opts = [] ) : array |
$from |
mixed |
The from address. Either a
Horde_Mail_Rfc822_Address object or a string. |
$to |
mixed |
The to (recipient) addresses. Either a
Horde_Mail_Rfc822_List object, a string, or an
array of addresses. |
$data |
mixed |
The data to send. Either a stream or a string. |
$opts |
array |
|
Résultat |
array |
If no receipients were successful, a
Horde_Smtp_Exception will be thrown. If at least one
recipient was successful, an array with the following
format is returned: (@since 1.5.0)
- KEYS: Recipient addresses ($to addresses).
- VALUES: Boolean true (if message was accepted for this recpieint)
or a Horde_Smtp_Exception (if messages was not accepted). |
serialize()
public méthode
setParam()
public méthode
Sets a configuration parameter value.
shutdown()
public méthode
unserialize()
public méthode
Property Details
$_connection protected_oe property
Connection to the SMTP server.
protected Horde_Smtp_Connection $_connection |
Résultat |
Horde_Smtp_Connection |
|
$_debug protected_oe property
protected Horde_Smtp_Debug $_debug |
Résultat |
Horde_Smtp_Debug |
|
$_ehlo protected_oe property
The hello command to use for extended SMTP support.
protected string $_ehlo |
Résultat |
string |
|
$_extensions protected_oe property
If this value is null, we have not connected to server yet.
protected array $_extensions |
Résultat |
array |
|
$_params protected_oe property
Hash containing connection parameters.
protected array $_params |
Résultat |
array |
|
$_requiredExts protected_oe property
List of required ESMTP extensions.
protected array $_requiredExts |
Résultat |
array |
|