Doxygen
This commit is contained in:
parent
16c6dd3c95
commit
893b7b96f4
@ -240,24 +240,46 @@ class SMTPs
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set delivery receipt
|
||||||
|
*
|
||||||
|
* @param int $_val Value
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function setDeliveryReceipt($_val = 0)
|
function setDeliveryReceipt($_val = 0)
|
||||||
{
|
{
|
||||||
$this->_deliveryReceipt = $_val;
|
$this->_deliveryReceipt = $_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get delivery receipt
|
||||||
|
*
|
||||||
|
* @return int Delivery receipt
|
||||||
|
*/
|
||||||
function getDeliveryReceipt()
|
function getDeliveryReceipt()
|
||||||
{
|
{
|
||||||
return $this->_deliveryReceipt;
|
return $this->_deliveryReceipt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set errors to
|
||||||
|
*
|
||||||
|
* @param string $_strErrorsTo Errors to
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
function setErrorsTo($_strErrorsTo)
|
function setErrorsTo($_strErrorsTo)
|
||||||
{
|
{
|
||||||
if ( $_strErrorsTo )
|
if ( $_strErrorsTo )
|
||||||
$this->_errorsTo = $this->_strip_email($_strErrorsTo);
|
$this->_errorsTo = $this->_strip_email($_strErrorsTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getErrorsTo ( $_part = true )
|
/**
|
||||||
|
* Get errors to
|
||||||
|
*
|
||||||
|
* @param boolean $_part Variant
|
||||||
|
* @return string Errors to
|
||||||
|
*/
|
||||||
|
function getErrorsTo($_part = true )
|
||||||
{
|
{
|
||||||
$_retValue = '';
|
$_retValue = '';
|
||||||
|
|
||||||
@ -269,8 +291,13 @@ class SMTPs
|
|||||||
return $_retValue;
|
return $_retValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
function setDebug( $_vDebug = false )
|
* Set debug
|
||||||
|
*
|
||||||
|
* @param boolean $_vDebug Value for debug
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function setDebug($_vDebug = false )
|
||||||
{
|
{
|
||||||
$this->_debug = $_vDebug;
|
$this->_debug = $_vDebug;
|
||||||
}
|
}
|
||||||
@ -306,7 +333,7 @@ class SMTPs
|
|||||||
// DOL_CHANGE LDR
|
// DOL_CHANGE LDR
|
||||||
include_once(DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php');
|
include_once(DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php');
|
||||||
|
|
||||||
if ( (! is_ip($host)) && ((gethostbyname ( $host )) == $host) )
|
if ( (! is_ip($host)) && ((gethostbyname($host)) == $host))
|
||||||
{
|
{
|
||||||
$this->_setErr(99, $host . ' is either offline or is an invalid host name.');
|
$this->_setErr(99, $host . ' is either offline or is an invalid host name.');
|
||||||
$_retVal = false;
|
$_retVal = false;
|
||||||
@ -314,11 +341,13 @@ class SMTPs
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//See if we can connect to the SMTP server
|
//See if we can connect to the SMTP server
|
||||||
if ( $this->socket = @fsockopen($this->getHost(), // Host to 'hit', IP or domain
|
if ($this->socket = @fsockopen(
|
||||||
$this->getPort(), // which Port number to use
|
$this->getHost(), // Host to 'hit', IP or domain
|
||||||
$this->errno, // actual system level error
|
$this->getPort(), // which Port number to use
|
||||||
$this->errstr, // and any text that goes with the error
|
$this->errno, // actual system level error
|
||||||
$this->_smtpTimeout) ) // timeout for reading/writing data over the socket
|
$this->errstr, // and any text that goes with the error
|
||||||
|
$this->_smtpTimeout
|
||||||
|
)) // timeout for reading/writing data over the socket
|
||||||
{
|
{
|
||||||
// Fix from PHP SMTP class by 'Chris Ryan'
|
// Fix from PHP SMTP class by 'Chris Ryan'
|
||||||
// Sometimes the SMTP server takes a little longer to respond
|
// Sometimes the SMTP server takes a little longer to respond
|
||||||
@ -386,7 +415,7 @@ class SMTPs
|
|||||||
* @return mixed void
|
* @return mixed void
|
||||||
* $_strMsg If this is run in 'Test' mode, the actual message structure will be returned
|
* $_strMsg If this is run in 'Test' mode, the actual message structure will be returned
|
||||||
*/
|
*/
|
||||||
function sendMsg ( $_bolTestMsg = false, $_bolDebug = false )
|
function sendMsg($_bolTestMsg = false, $_bolDebug = false)
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Default return value
|
* Default return value
|
||||||
@ -419,7 +448,7 @@ class SMTPs
|
|||||||
// From this point onward most server response codes should be 250
|
// From this point onward most server response codes should be 250
|
||||||
// Specify who the mail is from....
|
// Specify who the mail is from....
|
||||||
// This has to be the raw email address, strip the "name" off
|
// This has to be the raw email address, strip the "name" off
|
||||||
$this->socket_send_str('MAIL FROM: ' . $this->getFrom('addr' ), '250');
|
$this->socket_send_str('MAIL FROM: ' . $this->getFrom('addr'), '250');
|
||||||
|
|
||||||
// 'RCPT TO:' must be given a single address, so this has to loop
|
// 'RCPT TO:' must be given a single address, so this has to loop
|
||||||
// through the list of addresses, regardless of TO, CC or BCC
|
// through the list of addresses, regardless of TO, CC or BCC
|
||||||
@ -448,7 +477,7 @@ class SMTPs
|
|||||||
|
|
||||||
// Now tell the server we are done and close the socket...
|
// Now tell the server we are done and close the socket...
|
||||||
fputs($this->socket, 'QUIT');
|
fputs($this->socket, 'QUIT');
|
||||||
fclose($this->socket );
|
fclose($this->socket);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,13 +539,13 @@ class SMTPs
|
|||||||
{
|
{
|
||||||
// Set these properties ONLY if they are set in the php.ini file.
|
// Set these properties ONLY if they are set in the php.ini file.
|
||||||
// Otherwise the default values will be used.
|
// Otherwise the default values will be used.
|
||||||
if ( $_host = ini_get ('SMTPs') )
|
if ( $_host = ini_get('SMTPs') )
|
||||||
$this->setHost($_host);
|
$this->setHost($_host);
|
||||||
|
|
||||||
if ( $_port = ini_get ('smtp_port') )
|
if ( $_port = ini_get('smtp_port') )
|
||||||
$this->setPort($_port);
|
$this->setPort($_port);
|
||||||
|
|
||||||
if ( $_from = ini_get ('sendmail_from') )
|
if ( $_from = ini_get('sendmail_from') )
|
||||||
$this->setFrom($_from);
|
$this->setFrom($_from);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,7 +564,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function setTransportType($_type = 0)
|
function setTransportType($_type = 0)
|
||||||
{
|
{
|
||||||
if ( ( is_numeric ($_type) ) &&
|
if ( ( is_numeric($_type) ) &&
|
||||||
( ( $_type >= 0 ) && ( $_type <= 3 ) ) )
|
( ( $_type >= 0 ) && ( $_type <= 3 ) ) )
|
||||||
$this->_transportType = $_type;
|
$this->_transportType = $_type;
|
||||||
}
|
}
|
||||||
@ -603,7 +632,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function setPort($_intPort)
|
function setPort($_intPort)
|
||||||
{
|
{
|
||||||
if ( ( is_numeric ($_intPort) ) &&
|
if ( ( is_numeric($_intPort) ) &&
|
||||||
( ( $_intPort >= 1 ) && ( $_intPort <= 65536 ) ) )
|
( ( $_intPort >= 1 ) && ( $_intPort <= 65536 ) ) )
|
||||||
$this->_smtpsPort = $_intPort;
|
$this->_smtpsPort = $_intPort;
|
||||||
}
|
}
|
||||||
@ -701,7 +730,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function setTransEncode ( $_strTransEncode )
|
function setTransEncode ( $_strTransEncode )
|
||||||
{
|
{
|
||||||
if ( array_search ( $_strTransEncode, $this->_smtpsTransEncodeTypes ) )
|
if (array_search($_strTransEncode, $this->_smtpsTransEncodeTypes))
|
||||||
$this->_smtpsTransEncode = $_strTransEncode;
|
$this->_smtpsTransEncode = $_strTransEncode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -802,12 +831,12 @@ class SMTPs
|
|||||||
if ( !empty ($_addrList ))
|
if ( !empty ($_addrList ))
|
||||||
{
|
{
|
||||||
// $_addrList can be a STRING or an array
|
// $_addrList can be a STRING or an array
|
||||||
if ( is_string ($_addrList) )
|
if ( is_string($_addrList) )
|
||||||
{
|
{
|
||||||
// This could be a COMMA delimited string
|
// This could be a COMMA delimited string
|
||||||
if ( strstr ($_addrList, ',') )
|
if ( strstr($_addrList, ',') )
|
||||||
// "explode "list" into an array
|
// "explode "list" into an array
|
||||||
$_addrList = explode (',', $_addrList);
|
$_addrList = explode(',', $_addrList);
|
||||||
|
|
||||||
// Stick it in an array
|
// Stick it in an array
|
||||||
else
|
else
|
||||||
@ -818,28 +847,28 @@ class SMTPs
|
|||||||
foreach ( $_addrList as $_strAddr )
|
foreach ( $_addrList as $_strAddr )
|
||||||
{
|
{
|
||||||
// Strip off the end '>'
|
// Strip off the end '>'
|
||||||
$_strAddr = str_replace ('>', '', $_strAddr);
|
$_strAddr = str_replace('>', '', $_strAddr);
|
||||||
|
|
||||||
// Seperate "Real Name" from eMail address
|
// Seperate "Real Name" from eMail address
|
||||||
$_tmpaddr = null;
|
$_tmpaddr = null;
|
||||||
$_tmpaddr = explode ('<', $_strAddr);
|
$_tmpaddr = explode('<', $_strAddr);
|
||||||
|
|
||||||
// We have a "Real Name" and eMail address
|
// We have a "Real Name" and eMail address
|
||||||
if ( count ($_tmpaddr) == 2 )
|
if ( count($_tmpaddr) == 2 )
|
||||||
{
|
{
|
||||||
$_tmpHost = explode ('@', $_tmpaddr[1]);
|
$_tmpHost = explode('@', $_tmpaddr[1]);
|
||||||
$_tmpaddr[0] = trim ($_tmpaddr[0], ' ">');
|
$_tmpaddr[0] = trim($_tmpaddr[0], ' ">');
|
||||||
$aryHost[$_tmpHost[1]][$_type][$_tmpHost[0]] = $_tmpaddr[0];
|
$aryHost[$_tmpHost[1]][$_type][$_tmpHost[0]] = $_tmpaddr[0];
|
||||||
}
|
}
|
||||||
// We only have an eMail address
|
// We only have an eMail address
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Strip off the beggining '<'
|
// Strip off the beggining '<'
|
||||||
$_strAddr = str_replace ('<', '', $_strAddr);
|
$_strAddr = str_replace('<', '', $_strAddr);
|
||||||
|
|
||||||
$_tmpHost = explode ('@', $_strAddr);
|
$_tmpHost = explode('@', $_strAddr);
|
||||||
$_tmpHost[0] = trim ($_tmpHost[0]);
|
$_tmpHost[0] = trim($_tmpHost[0]);
|
||||||
$_tmpHost[1] = trim ($_tmpHost[1]);
|
$_tmpHost[1] = trim($_tmpHost[1]);
|
||||||
|
|
||||||
$aryHost[$_tmpHost[1]][$_type][$_tmpHost[0]] = '';
|
$aryHost[$_tmpHost[1]][$_type][$_tmpHost[0]] = '';
|
||||||
}
|
}
|
||||||
@ -871,20 +900,20 @@ class SMTPs
|
|||||||
$_aryEmail['org'] = $_strAddr;
|
$_aryEmail['org'] = $_strAddr;
|
||||||
|
|
||||||
// Set entire string to Lower Case
|
// Set entire string to Lower Case
|
||||||
$_strAddr = strtolower ($_strAddr);
|
$_strAddr = strtolower($_strAddr);
|
||||||
|
|
||||||
// Drop "stuff' off the end
|
// Drop "stuff' off the end
|
||||||
$_strAddr = trim ($_strAddr, ' ">');
|
$_strAddr = trim($_strAddr, ' ">');
|
||||||
|
|
||||||
// Seperate "Real Name" from eMail address, if we have one
|
// Seperate "Real Name" from eMail address, if we have one
|
||||||
$_tmpAry = explode ('<', $_strAddr);
|
$_tmpAry = explode('<', $_strAddr);
|
||||||
|
|
||||||
// Do we have a "Real name"
|
// Do we have a "Real name"
|
||||||
if ( count ($_tmpAry) == 2 )
|
if ( count($_tmpAry) == 2 )
|
||||||
{
|
{
|
||||||
// We may not really have a "Real Name"
|
// We may not really have a "Real Name"
|
||||||
if ( $_tmpAry[0])
|
if ( $_tmpAry[0])
|
||||||
$_aryEmail['real'] = trim ($_tmpAry[0], ' ">');
|
$_aryEmail['real'] = trim($_tmpAry[0], ' ">');
|
||||||
|
|
||||||
$_aryEmail['addr'] = $_tmpAry[1];
|
$_aryEmail['addr'] = $_tmpAry[1];
|
||||||
}
|
}
|
||||||
@ -892,7 +921,7 @@ class SMTPs
|
|||||||
$_aryEmail['addr'] = $_tmpAry[0];
|
$_aryEmail['addr'] = $_tmpAry[0];
|
||||||
|
|
||||||
// Pull User Name and Host.tld apart
|
// Pull User Name and Host.tld apart
|
||||||
list($_aryEmail['user'], $_aryEmail['host'] ) = explode ('@', $_aryEmail['addr']);
|
list($_aryEmail['user'], $_aryEmail['host'] ) = explode('@', $_aryEmail['addr']);
|
||||||
|
|
||||||
// Put the brackets back around the address
|
// Put the brackets back around the address
|
||||||
$_aryEmail['addr'] = '<' . $_aryEmail['addr'] . '>';
|
$_aryEmail['addr'] = '<' . $_aryEmail['addr'] . '>';
|
||||||
@ -1076,7 +1105,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function getHeader()
|
function getHeader()
|
||||||
{
|
{
|
||||||
$_header = 'From: ' . $this->getFrom( 'org' ) . "\r\n"
|
$_header = 'From: ' . $this->getFrom('org') . "\r\n"
|
||||||
. 'To: ' . $this->getTO() . "\r\n";
|
. 'To: ' . $this->getTO() . "\r\n";
|
||||||
|
|
||||||
if ( $this->getCC() )
|
if ( $this->getCC() )
|
||||||
@ -1119,10 +1148,11 @@ class SMTPs
|
|||||||
/**
|
/**
|
||||||
* Message Content
|
* Message Content
|
||||||
*
|
*
|
||||||
* @param string $_msgContent Message Content
|
* @param string $strContent Message Content
|
||||||
* @return void
|
* @param string $strType Type
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
function setBodyContent ( $strContent, $strType = 'plain' )
|
function setBodyContent($strContent, $strType = 'plain')
|
||||||
{
|
{
|
||||||
//if ( $strContent )
|
//if ( $strContent )
|
||||||
//{
|
//{
|
||||||
@ -1132,7 +1162,7 @@ class SMTPs
|
|||||||
$strMimeType = 'text/plain';
|
$strMimeType = 'text/plain';
|
||||||
|
|
||||||
// Make RFC821 Compliant, replace bare linefeeds
|
// Make RFC821 Compliant, replace bare linefeeds
|
||||||
$strContent = preg_replace("/(?<!\r)\n/si", "\r\n", $strContent );
|
$strContent = preg_replace("/(?<!\r)\n/si", "\r\n", $strContent);
|
||||||
|
|
||||||
$strContent = rtrim(wordwrap($strContent));
|
$strContent = rtrim(wordwrap($strContent));
|
||||||
|
|
||||||
@ -1157,10 +1187,10 @@ class SMTPs
|
|||||||
$this->_setBoundary();
|
$this->_setBoundary();
|
||||||
|
|
||||||
// What type[s] of content do we have
|
// What type[s] of content do we have
|
||||||
$_types = array_keys ($this->_msgContent);
|
$_types = array_keys($this->_msgContent);
|
||||||
|
|
||||||
// How many content types do we have
|
// How many content types do we have
|
||||||
$keyCount = count ($_types);
|
$keyCount = count($_types);
|
||||||
|
|
||||||
// If we have ZERO, we have a problem
|
// If we have ZERO, we have a problem
|
||||||
if( $keyCount === 0 )
|
if( $keyCount === 0 )
|
||||||
@ -1199,7 +1229,7 @@ class SMTPs
|
|||||||
|
|
||||||
// . "\r\n"
|
// . "\r\n"
|
||||||
// . 'This is a multi-part message in MIME format.' . "\r\n";
|
// . 'This is a multi-part message in MIME format.' . "\r\n";
|
||||||
$content .= "Content-Transfer-Encoding: 8bit" . "\r\n";
|
$content .= "Content-Transfer-Encoding: 8bit\r\n";
|
||||||
$content .= "\r\n";
|
$content .= "\r\n";
|
||||||
|
|
||||||
// Loop through message content array
|
// Loop through message content array
|
||||||
@ -1219,9 +1249,7 @@ class SMTPs
|
|||||||
if ( $this->getMD5flag() )
|
if ( $this->getMD5flag() )
|
||||||
$content .= 'Content-MD5: ' . $_data['md5'] . "\r\n";
|
$content .= 'Content-MD5: ' . $_data['md5'] . "\r\n";
|
||||||
|
|
||||||
$content .= "\r\n"
|
$content .= "\r\n" . $_data['data'] . "\r\n\r\n";
|
||||||
. $_data['data'] . "\r\n"
|
|
||||||
. "\r\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// DOL_CHANGE LDR
|
// DOL_CHANGE LDR
|
||||||
@ -1262,9 +1290,7 @@ class SMTPs
|
|||||||
if ( $this->getMD5flag() )
|
if ( $this->getMD5flag() )
|
||||||
$content .= 'Content-MD5: ' . $_content['md5'] . "\r\n";
|
$content .= 'Content-MD5: ' . $_content['md5'] . "\r\n";
|
||||||
|
|
||||||
$content .= "\r\n"
|
$content .= "\r\n" . $_content['data'] . "\r\n\r\n";
|
||||||
. $_content['data'] . "\r\n"
|
|
||||||
. "\r\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1342,7 +1368,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function setSensitivity($_value = 0)
|
function setSensitivity($_value = 0)
|
||||||
{
|
{
|
||||||
if ( ( is_numeric ($_value) ) &&
|
if ( ( is_numeric($_value) ) &&
|
||||||
( ( $_value >= 0 ) && ( $_value <= 3 ) ) )
|
( ( $_value >= 0 ) && ( $_value <= 3 ) ) )
|
||||||
$this->_msgSensitivity = $_value;
|
$this->_msgSensitivity = $_value;
|
||||||
}
|
}
|
||||||
@ -1355,7 +1381,6 @@ class SMTPs
|
|||||||
* - [2] Private
|
* - [2] Private
|
||||||
* - [3] Company Confidential
|
* - [3] Company Confidential
|
||||||
*
|
*
|
||||||
* @param string Message Sensitivity
|
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function getSensitivity()
|
function getSensitivity()
|
||||||
@ -1378,7 +1403,7 @@ class SMTPs
|
|||||||
*/
|
*/
|
||||||
function setPriority ( $_value = 3 )
|
function setPriority ( $_value = 3 )
|
||||||
{
|
{
|
||||||
if ( ( is_numeric ($_value) ) &&
|
if ( ( is_numeric($_value) ) &&
|
||||||
( ( $_value >= 0 ) && ( $_value <= 5 ) ) )
|
( ( $_value >= 0 ) && ( $_value <= 5 ) ) )
|
||||||
$this->_msgPriority = $_value;
|
$this->_msgPriority = $_value;
|
||||||
}
|
}
|
||||||
@ -1471,8 +1496,9 @@ class SMTPs
|
|||||||
* This function has been modified as provided by SirSir to allow multiline responses when
|
* This function has been modified as provided by SirSir to allow multiline responses when
|
||||||
* using SMTP Extensions
|
* using SMTP Extensions
|
||||||
*
|
*
|
||||||
* @param $socket
|
* @param Handler $socket Socket handler
|
||||||
* @param $response
|
* @param string $response Response
|
||||||
|
* @return boolean True or false
|
||||||
*/
|
*/
|
||||||
function server_parse($socket, $response)
|
function server_parse($socket, $response)
|
||||||
{
|
{
|
||||||
@ -1502,7 +1528,15 @@ class SMTPs
|
|||||||
return $_retVal;
|
return $_retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
function socket_send_str ( $_strSend, $_returnCode = null, $CRLF = "\r\n" )
|
/**
|
||||||
|
* Send str
|
||||||
|
*
|
||||||
|
* @param string $_strSend String to send
|
||||||
|
* @param string $_returnCode Return code
|
||||||
|
* @param string $CRLF CRLF
|
||||||
|
* @return boolean True or false
|
||||||
|
*/
|
||||||
|
function socket_send_str( $_strSend, $_returnCode = null, $CRLF = "\r\n" )
|
||||||
{
|
{
|
||||||
if ($this->_debug) $this->log.=$_strSend; // DOL_CHANGE LDR for log
|
if ($this->_debug) $this->log.=$_strSend; // DOL_CHANGE LDR for log
|
||||||
fputs($this->socket, $_strSend . $CRLF);
|
fputs($this->socket, $_strSend . $CRLF);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user