Mail/Protocol/Abstract.php

Show: PublicProtectedPrivateinherited
Table of Contents
Zend Framework
LICENSE This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Mail  
Subpackage
Protocol  
Version
$Id$  

\Zend_Mail_Protocol_Abstract

Package: Zend_Mail\Protocol
Zend_Mail_Protocol_Abstract
Provides low-level methods for concrete adapters to communicate with a remote mail server and track requests and responses.
Children
\Zend_Mail_Protocol_Smtp
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Todo
Implement proxy settings  
Version
$Id$  

Constants

>VConstant  EOL = "\r\n"
Mail default EOL string
>VConstant  TIMEOUT_CONNECTION = 30
Default timeout in seconds for initiating session

Properties

>VPropertyprotectedstring $_host
Hostname or IP address of remote server
Details
Type
string
>VPropertyprivatearray $_log = array()
Log of mail requests and server responses for a session
Default valuearray()Details
Type
array
>VPropertyprotectedinteger $_maximumLog = 64
Maximum of the transaction log
Default value64Details
Type
integer
>VPropertyprotectedinteger $_port
Port number of connection
Details
Type
integer
>VPropertyprotectedstring $_request
Last request sent to server
Details
Type
string
>VPropertyprotectedarray $_response
Array of server responses to last request
Details
Type
array
>VPropertyprotectedresource $_socket
Socket connection resource
Details
Type
resource
>VPropertyprotectedresource $_template = '%d%s'
String template for parsing server responses using sscanf (default: 3 digit code and response string)
Default value'%d%s'Details
Type
resource
Deprecated
Since 1.10.3  
>VPropertyprotected\Zend_Validate $_validHost
Instance of Zend_Validate to check hostnames
Details
Type
\Zend_Validate

Methods

methodpublic__construct(string $host = '127.0.0.1', integer $port = null) : void

Constructor.

Parameters
NameTypeDescription
$hoststring

OPTIONAL Hostname of remote connection (default: 127.0.0.1)

$portinteger

OPTIONAL Port number (default: null)

Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodpublic__destruct() : void

Class destructor to cleanup open resources

methodprotected_addLog( $value) : void

Add the transaction log

Parameters
NameTypeDescription
$value
methodprotected_connect(string $remote) : boolean

Connect to the server using the supplied transport and target

An example $remote string may be 'tcp://mail.example.com:25' or 'ssh://hostname.com:2222'
Parameters
NameTypeDescription
$remotestring

Remote

Returns
TypeDescription
boolean
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodprotected_disconnect() : void

Disconnect from remote host and free resource

methodprotected_expect(string | array $code,  $timeout = null) : string

Parse server response for successful codes

Read the response from the stream and check for expected return code. Throws a Zend_Mail_Protocol_Exception if an unexpected code is returned.
Parameters
NameTypeDescription
$codestring | array

One or more codes that indicate a successful response

$timeout
Returns
TypeDescription
stringLast line of response string
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodprotected_receive( $timeout = null) : string

Get a line from the stream.

Parameters
NameTypeDescription
$timeout
Returns
TypeDescription
string
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
Details
$timeout
integer

Per-request timeout value if applicable

methodprotected_send(string $request) : integer | boolean

Send the given request followed by a LINEEND to the server.

Parameters
NameTypeDescription
$requeststring
Returns
TypeDescription
integer | booleanNumber of bytes written to remote host
Throws
ExceptionDescription
\Zend_Mail_Protocol_Exception
methodprotected_setStreamTimeout(integer $timeout) : boolean

Set stream timeout

Parameters
NameTypeDescription
$timeoutinteger
Returns
TypeDescription
boolean
methodpublicconnect() : void
abstract

Create a connection to the remote host

Concrete adapters for this class will implement their own unique connect scripts, using the _connect() method to create the socket resource.
methodpublicgetLog() : string

Retrieve the transaction log

Returns
TypeDescription
string
methodpublicgetMaximumLog() : int

Get the maximum log size

Returns
TypeDescription
intthe maximum log size
methodpublicgetRequest() : string

Retrieve the last client request

Returns
TypeDescription
string
methodpublicgetResponse() : array

Retrieve the last server response

Returns
TypeDescription
array
methodpublicresetLog() : void

Reset the transaction log

methodpublicsetMaximumLog(integer $maximumLog) : void

Set the maximum log size

Parameters
NameTypeDescription
$maximumLoginteger

Maximum log size

Documentation was generated by phpDocumentor 2.2.0 .