dolibarr 21.0.0-beta
|
Class to construct and send SMTP compliant email, even to a secure SMTP server, regardless of platform. More...
Public Member Functions | |
setOptions ($_options=array()) | |
Set delivery receipt. | |
setDeliveryReceipt ($_val=0) | |
Set delivery receipt. | |
getDeliveryReceipt () | |
get delivery receipt | |
setTrackId ($_val='') | |
Set trackid. | |
setMoreInHeader ($_val='') | |
Set moreInHeader. | |
getTrackId () | |
get trackid | |
getMoreInHeader () | |
get moreInHeader | |
setErrorsTo ($_strErrorsTo) | |
Set errors to. | |
getErrorsTo ($_part=true) | |
Get errors to. | |
setDebug ($_vDebug=false) | |
Set debug. | |
buildRCPTlist () | |
build RECIPIENT List, all addresses who will receive this message | |
sendMsg () | |
Now send the message. | |
setConfig ($_strConfigPath=null) | |
setConfig() is used to populate select class properties from either a user defined INI file or the systems 'php.ini' file | |
setTransportType ($_type=0) | |
Determines the method inwhich the messages are to be sent. | |
getTransportType () | |
Return the method inwhich the message is to be sent. | |
setMailPath ($_path) | |
Path to the sendmail executable. | |
setHost ($_strHost) | |
Defines the Host Name or IP of the Mail Server to use. | |
getHost () | |
Retrieves the Host Name or IP of the Mail Server to use This is used only with 'socket' based mail transmission. | |
setPort ($_intPort) | |
Defines the Port Number of the Mail Server to use The default is 25 This is used only with 'socket' based mail transmission. | |
getPort () | |
Retrieves the Port Number of the Mail Server to use This is used only with 'socket' based mail transmission. | |
setID ($_strID) | |
User Name for authentication on Mail Server. | |
getID () | |
Retrieves the User Name for authentication on Mail Server. | |
setPW ($_strPW) | |
User Password for authentication on Mail Server. | |
getPW () | |
Retrieves the User Password for authentication on Mail Server. | |
setToken ($_strToken) | |
User token for OAUTH2. | |
getToken () | |
Retrieves the User token for OAUTH2. | |
setCharSet ($_strCharSet) | |
Character set used for current message Character set is defaulted to 'iso-8859-1';. | |
getCharSet () | |
Retrieves the Character set used for current message. | |
setTransEncode ($_strTransEncode) | |
Content-Transfer-Encoding, Defaulted to '7bit' This can be changed for 2byte characters sets Known Encode Types. | |
getTransEncode () | |
Retrieves the Content-Transfer-Encoding. | |
setTransEncodeType ($_strTransEncodeType) | |
Content-Transfer-Encoding, Defaulted to '0' [ZERO] This can be changed for 2byte characters sets Known Encode Types. | |
getTransEncodeType () | |
Retrieves the Content-Transfer-Encoding. | |
setFrom ($_strFrom) | |
FROM Address from which mail will be sent. | |
getFrom ($_part=true) | |
Retrieves the Address from which mail will be sent. | |
setReplyTo ($_strReplyTo) | |
Reply-To Address from which mail will be the reply-to. | |
getReplyTo ($_part=true) | |
Retrieves the Address from which mail will be the reply-to. | |
setInReplyTo ($_strInReplyTo) | |
Set References in the list of Msg-Id. | |
getInReplyTo () | |
Retrieves the InReplyTo from which mail we reply to. | |
setReferences ($_strReferences) | |
Set References in the list of Msg-Id. | |
getReferences () | |
Retrieves the References from which mail will be the reply-to. | |
get_RCPT_list () | |
Returns an array of bare addresses for use with 'RCPT TO:' This is a "build as you go" method. | |
get_email_list ($_which=null) | |
Returns an array of addresses for a specific type; TO, CC or BCC. | |
setTO ($_addrTo) | |
TO Address[es] inwhich to send mail to. | |
getTo () | |
Retrieves the TO Address[es] inwhich to send mail to. | |
setCC ($_strCC) | |
CC Address[es] inwhich to send mail to. | |
getCC () | |
Retrieves the CC Address[es] inwhich to send mail to. | |
setBCC ($_strBCC) | |
BCC Address[es] inwhich to send mail to. | |
getBCC () | |
Retrieves the BCC Address[es] inwhich to send mail to. | |
setSubject ($_strSubject='') | |
Message Subject. | |
getSubject () | |
Retrieves the Message Subject. | |
getHeader () | |
Constructs and returns message header. | |
setBodyContent ($strContent, $strType='plain') | |
Message Content. | |
getBodyContent () | |
Retrieves the Message Content. | |
setAttachment ($strContent, $strFileName='unknown', $strMimeType='unknown', $strCid='') | |
File attachments are added to the content array as sub-arrays, allowing for multiple attachments for each outbound email. | |
setImageInline ($strContent, $strImageName='unknown', $strMimeType='unknown', $strImageCid='unknown') | |
Image attachments are added to the content array as sub-arrays, allowing for multiple images for each outbound email. | |
setSensitivity ($_value=0) | |
Message Content Sensitivity Message Sensitivity values: | |
getSensitivity () | |
Returns Message Content Sensitivity string Message Sensitivity values: | |
setPriority ($_value=3) | |
Message Content Priority Message Priority values: | |
getPriority () | |
Message Content Priority Message Priority values: | |
setMD5flag ($_flag=false) | |
Set flag which determines whether to calculate message MD5 checksum. | |
getMD5flag () | |
Gets flag which determines whether to calculate message MD5 checksum. | |
setXheader ($strXdata) | |
Message X-Header Content This is a simple "insert". | |
getXheader () | |
Retrieves the Message X-Header Content. | |
server_parse ($socket, $response) | |
This function has been modified as provided by SirSir to allow multiline responses when using SMTP Extensions. | |
socket_send_str ($_strSend, $_returnCode=null, $CRLF="\r\n") | |
Send str. | |
getErrors () | |
Returns applicative errors codes and messages for Class (not the SMTP error code) | |
Private Member Functions | |
_server_connect () | |
Attempt a connection to mail server. | |
_server_authenticate () | |
Attempt mail server authentication for a secure connection. | |
_buildAddrList ($_type, $_addrList) | |
Inserts given addresses into structured format. | |
_strip_email ($_strAddr) | |
Returns an array of the various parts of an email address This assumes a well formed address: | |
_setBoundary () | |
Generates Random string for MIME message Boundary. | |
_getBoundary ($type='mixed') | |
Retrieves the MIME message Boundary. | |
_setErr ($_errNum, $_errMsg) | |
Defines errors codes and messages for Class. | |
Class to construct and send SMTP compliant email, even to a secure SMTP server, regardless of platform.
Definition at line 48 of file smtps.class.php.
|
private |
Inserts given addresses into structured format.
This method takes a list of given addresses, via an array or a COMMA delimited string, and inserts them into a highly structured array. This array is designed to remove duplicate addresses and to sort them by Domain.
string | $_type | TO, CC, or BCC lists to add addrresses into |
mixed | $_addrList | Array or COMMA delimited string of addresses |
Definition at line 1235 of file smtps.class.php.
|
private |
Retrieves the MIME message Boundary.
string | $type | Type of boundary |
Definition at line 1976 of file smtps.class.php.
|
private |
Attempt mail server authentication for a secure connection.
Definition at line 508 of file smtps.class.php.
References $conf, _setErr(), getDolGlobalInt(), getDolGlobalString(), getDomainFromURL(), getFrom(), getHost(), and socket_send_str().
Referenced by sendMsg().
|
private |
Attempt a connection to mail server.
Definition at line 430 of file smtps.class.php.
References _setErr(), getHost(), getPort(), is_ip(), and server_parse().
Referenced by sendMsg().
|
private |
Generates Random string for MIME message Boundary.
Definition at line 1963 of file smtps.class.php.
Referenced by getBodyContent().
|
private |
Defines errors codes and messages for Class.
int | $_errNum | Error Code Number |
string | $_errMsg | Error Message |
Definition at line 2070 of file smtps.class.php.
Referenced by _server_authenticate(), _server_connect(), get_email_list(), server_parse(), and setConfig().
|
private |
Returns an array of the various parts of an email address This assumes a well formed address:
string | $_strAddr | Email address |
Definition at line 1302 of file smtps.class.php.
Referenced by setErrorsTo(), setFrom(), and setReplyTo().
SMTPs::buildRCPTlist | ( | ) |
build RECIPIENT List, all addresses who will receive this message
Definition at line 418 of file smtps.class.php.
References getTo().
SMTPs::get_email_list | ( | $_which = null | ) |
Returns an array of addresses for a specific type; TO, CC or BCC.
string | $_which | Which collection of addresses to return ('to', 'cc', 'bcc') |
Definition at line 1377 of file smtps.class.php.
References _setErr().
SMTPs::get_RCPT_list | ( | ) |
Returns an array of bare addresses for use with 'RCPT TO:' This is a "build as you go" method.
Each time this method is called the underlying array is destroyed and reconstructed.
An array of bares addresses for use with 'RCPT TO:'
Definition at line 1349 of file smtps.class.php.
Referenced by sendMsg().
SMTPs::getBCC | ( | ) |
Retrieves the BCC Address[es] inwhich to send mail to.
Definition at line 1474 of file smtps.class.php.
References get_email_list().
SMTPs::getBodyContent | ( | ) |
Retrieves the Message Content.
Definition at line 1634 of file smtps.class.php.
References $conf, _setBoundary(), getCharSet(), getDolGlobalString(), and getMD5flag().
Referenced by sendMsg().
SMTPs::getCC | ( | ) |
Retrieves the CC Address[es] inwhich to send mail to.
Definition at line 1451 of file smtps.class.php.
References get_email_list().
Referenced by getHeader().
SMTPs::getCharSet | ( | ) |
Retrieves the Character set used for current message.
Definition at line 1038 of file smtps.class.php.
Referenced by getBodyContent().
SMTPs::getDeliveryReceipt | ( | ) |
get delivery receipt
Definition at line 323 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getErrors | ( | ) |
Returns applicative errors codes and messages for Class (not the SMTP error code)
Definition at line 2083 of file smtps.class.php.
SMTPs::getErrorsTo | ( | $_part = true | ) |
Get errors to.
true | string | $_part | Variant |
Definition at line 389 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getFrom | ( | $_part = true | ) |
Retrieves the Address from which mail will be sent.
true | string | $_part | To "strip" 'Real name' from address |
Definition at line 1130 of file smtps.class.php.
Referenced by _server_authenticate(), and sendMsg().
SMTPs::getHeader | ( | ) |
Constructs and returns message header.
Definition at line 1507 of file smtps.class.php.
References $conf, getCC(), getDeliveryReceipt(), getErrorsTo(), getInReplyTo(), getMoreInHeader(), getPriority(), getReferences(), getReplyTo(), getSensitivity(), and getTrackId().
Referenced by sendMsg().
SMTPs::getHost | ( | ) |
Retrieves the Host Name or IP of the Mail Server to use This is used only with 'socket' based mail transmission.
Definition at line 924 of file smtps.class.php.
Referenced by _server_authenticate(), _server_connect(), and sendMsg().
SMTPs::getID | ( | ) |
Retrieves the User Name for authentication on Mail Server.
Definition at line 972 of file smtps.class.php.
SMTPs::getInReplyTo | ( | ) |
Retrieves the InReplyTo from which mail we reply to.
Definition at line 1193 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getMD5flag | ( | ) |
Gets flag which determines whether to calculate message MD5 checksum.
Definition at line 1928 of file smtps.class.php.
Referenced by getBodyContent(), setAttachment(), setBodyContent(), and setImageInline().
SMTPs::getMoreInHeader | ( | ) |
get moreInHeader
Definition at line 365 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getPort | ( | ) |
Retrieves the Port Number of the Mail Server to use This is used only with 'socket' based mail transmission.
Definition at line 951 of file smtps.class.php.
Referenced by _server_connect().
SMTPs::getPriority | ( | ) |
Message Content Priority Message Priority values:
Definition at line 1905 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getPW | ( | ) |
Retrieves the User Password for authentication on Mail Server.
Definition at line 993 of file smtps.class.php.
SMTPs::getReferences | ( | ) |
Retrieves the References from which mail will be the reply-to.
Definition at line 1218 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getReplyTo | ( | $_part = true | ) |
Retrieves the Address from which mail will be the reply-to.
true | string | $_part | To "strip" 'Real name' from address |
Definition at line 1162 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getSensitivity | ( | ) |
Returns Message Content Sensitivity string Message Sensitivity values:
Definition at line 1867 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getSubject | ( | ) |
Retrieves the Message Subject.
Definition at line 1497 of file smtps.class.php.
SMTPs::getTo | ( | ) |
Retrieves the TO Address[es] inwhich to send mail to.
Definition at line 1428 of file smtps.class.php.
References get_email_list().
Referenced by buildRCPTlist().
SMTPs::getToken | ( | ) |
Retrieves the User token for OAUTH2.
Definition at line 1014 of file smtps.class.php.
SMTPs::getTrackId | ( | ) |
get trackid
Definition at line 355 of file smtps.class.php.
Referenced by getHeader().
SMTPs::getTransEncode | ( | ) |
Retrieves the Content-Transfer-Encoding.
Definition at line 1070 of file smtps.class.php.
SMTPs::getTransEncodeType | ( | ) |
Retrieves the Content-Transfer-Encoding.
Definition at line 1103 of file smtps.class.php.
SMTPs::getTransportType | ( | ) |
Return the method inwhich the message is to be sent.
Definition at line 883 of file smtps.class.php.
SMTPs::getXheader | ( | ) |
Retrieves the Message X-Header Content.
Definition at line 1953 of file smtps.class.php.
SMTPs::sendMsg | ( | ) |
Now send the message.
Definition at line 688 of file smtps.class.php.
References _server_authenticate(), _server_connect(), get_RCPT_list(), getBodyContent(), getDolGlobalInt(), getDolGlobalString(), getDomainFromURL(), getFrom(), getHeader(), getHost(), and socket_send_str().
SMTPs::server_parse | ( | $socket, | |
$response ) |
This function has been modified as provided by SirSir to allow multiline responses when using SMTP Extensions.
resource | $socket | Socket handler |
string | $response | Expected response ('250', ...). Example of response we can get: "421 4.7.0 Try again later, closing connection. (EHLO) nb21-20020a1709071c9500b0093d0d964affsm869534ejc.73 - gsmtp" "550 5.7.1 https://support.google.com/a/answer/6140680#invalidcred j21sm814390wre.3" |
Returns constructed SELECT Object string or boolean upon failure Default value is set at true
Definition at line 1999 of file smtps.class.php.
References _setErr().
Referenced by _server_connect(), and socket_send_str().
SMTPs::setAttachment | ( | $strContent, | |
$strFileName = 'unknown', | |||
$strMimeType = 'unknown', | |||
$strCid = '' ) |
File attachments are added to the content array as sub-arrays, allowing for multiple attachments for each outbound email.
string | $strContent | File data to attach to message |
string | $strFileName | File Name to give to attachment |
string | $strMimeType | File Mime Type of attachment |
string | $strCid | File Cid of attachment (if defined, to be shown inline) |
Definition at line 1793 of file smtps.class.php.
References dol_hash(), and getMD5flag().
SMTPs::setBCC | ( | $_strBCC | ) |
BCC Address[es] inwhich to send mail to.
string | $_strBCC | Recipients BCC Address[es] inwhich to send mail to |
Definition at line 1462 of file smtps.class.php.
References _buildAddrList().
SMTPs::setBodyContent | ( | $strContent, | |
$strType = 'plain' ) |
Message Content.
string | $strContent | Message Content |
string | $strType | Type |
Definition at line 1591 of file smtps.class.php.
References dol_hash(), and getMD5flag().
SMTPs::setCC | ( | $_strCC | ) |
CC Address[es] inwhich to send mail to.
string | $_strCC | CC Address[es] inwhich to send mail to |
Definition at line 1439 of file smtps.class.php.
References _buildAddrList().
SMTPs::setCharSet | ( | $_strCharSet | ) |
Character set used for current message Character set is defaulted to 'iso-8859-1';.
string | $_strCharSet | Character set used for current message |
Definition at line 1026 of file smtps.class.php.
SMTPs::setConfig | ( | $_strConfigPath = null | ) |
setConfig() is used to populate select class properties from either a user defined INI file or the systems 'php.ini' file
If a user defined INI is to be used, the files complete path is passed as the method single parameter. The INI can define any class and/or user properties. Only properties defined within this file will be setter and/or orverwritten
If the systems 'php.ini' file is to be used, the method is called without parameters. In this case, only HOST, PORT and FROM properties will be set as they are the only properties that are defined within the 'php.ini'.
If secure SMTP is to be used, the user ID and Password can be defined with the user INI file, but the properties are not defined with the systems 'php.ini'file, they must be defined via their setter methods
This method can be called twice, if desired. Once without a parameter to load the properties as defined within the systems 'php.ini' file, and a second time, with a path to a user INI file for other properties to be defined.
mixed | $_strConfigPath | path to config file or VOID |
Returns constructed SELECT Object string or boolean upon failure Default value is set at true
Definition at line 822 of file smtps.class.php.
SMTPs::setDebug | ( | $_vDebug = false | ) |
Set debug.
boolean | $_vDebug | Value for debug |
Definition at line 408 of file smtps.class.php.
SMTPs::setDeliveryReceipt | ( | $_val = 0 | ) |
Set delivery receipt.
int | $_val | Value |
Definition at line 313 of file smtps.class.php.
SMTPs::setErrorsTo | ( | $_strErrorsTo | ) |
Set errors to.
string | $_strErrorsTo | Errors to |
Definition at line 376 of file smtps.class.php.
References _strip_email().
SMTPs::setFrom | ( | $_strFrom | ) |
FROM Address from which mail will be sent.
string | $_strFrom | Address from which mail will be sent |
Definition at line 1117 of file smtps.class.php.
References _strip_email().
Referenced by setConfig().
SMTPs::setHost | ( | $_strHost | ) |
Defines the Host Name or IP of the Mail Server to use.
This is defaulted to 'localhost' This is used only with 'socket' based mail transmission
string | $_strHost | Host Name or IP of the Mail Server to use |
Definition at line 911 of file smtps.class.php.
Referenced by setConfig().
SMTPs::setID | ( | $_strID | ) |
User Name for authentication on Mail Server.
string | $_strID | User Name for authentication on Mail Server |
Definition at line 962 of file smtps.class.php.
SMTPs::setImageInline | ( | $strContent, | |
$strImageName = 'unknown', | |||
$strMimeType = 'unknown', | |||
$strImageCid = 'unknown' ) |
Image attachments are added to the content array as sub-arrays, allowing for multiple images for each outbound email.
string | $strContent | Image data to attach to message |
string | $strImageName | Image Name to give to attachment |
string | $strMimeType | Image Mime Type of attachment |
string | $strImageCid | CID |
Definition at line 1822 of file smtps.class.php.
References dol_hash(), and getMD5flag().
SMTPs::setInReplyTo | ( | $_strInReplyTo | ) |
Set References in the list of Msg-Id.
string | $_strInReplyTo | List of Msg-Id |
Definition at line 1181 of file smtps.class.php.
SMTPs::setMailPath | ( | $_path | ) |
Path to the sendmail executable.
string | $_path | Path to the sendmail executable |
Definition at line 895 of file smtps.class.php.
SMTPs::setMD5flag | ( | $_flag = false | ) |
Set flag which determines whether to calculate message MD5 checksum.
boolean | $_flag | MD5flag |
Definition at line 1918 of file smtps.class.php.
SMTPs::setMoreInHeader | ( | $_val = '' | ) |
Set moreInHeader.
string | $_val | Value |
Definition at line 345 of file smtps.class.php.
SMTPs::setOptions | ( | $_options = array() | ) |
Set delivery receipt.
array<string,array<string,mixed>> | $_options An array of options for stream_context_create() |
Definition at line 302 of file smtps.class.php.
SMTPs::setPort | ( | $_intPort | ) |
Defines the Port Number of the Mail Server to use The default is 25 This is used only with 'socket' based mail transmission.
int | string | $_intPort | Port Number of the Mail Server to use |
Definition at line 937 of file smtps.class.php.
Referenced by setConfig().
SMTPs::setPriority | ( | $_value = 3 | ) |
Message Content Priority Message Priority values:
integer | $_value | Message Priority |
Definition at line 1885 of file smtps.class.php.
SMTPs::setPW | ( | $_strPW | ) |
User Password for authentication on Mail Server.
string | $_strPW | User Password for authentication on Mail Server |
Definition at line 983 of file smtps.class.php.
SMTPs::setReferences | ( | $_strReferences | ) |
Set References in the list of Msg-Id.
string[] | $_strReferences | List of Msg-Id |
Definition at line 1206 of file smtps.class.php.
SMTPs::setReplyTo | ( | $_strReplyTo | ) |
Reply-To Address from which mail will be the reply-to.
string | $_strReplyTo | Address from which mail will be the reply-to |
Definition at line 1149 of file smtps.class.php.
References _strip_email().
SMTPs::setSensitivity | ( | $_value = 0 | ) |
Message Content Sensitivity Message Sensitivity values:
integer | $_value | Message Sensitivity |
Definition at line 1849 of file smtps.class.php.
SMTPs::setSubject | ( | $_strSubject = '' | ) |
Message Subject.
string | $_strSubject | Message Subject |
Definition at line 1485 of file smtps.class.php.
SMTPs::setTO | ( | $_addrTo | ) |
TO Address[es] inwhich to send mail to.
string | $_addrTo | TO Address[es] inwhich to send mail to |
Definition at line 1416 of file smtps.class.php.
References _buildAddrList().
SMTPs::setToken | ( | $_strToken | ) |
User token for OAUTH2.
string | $_strToken | User token |
Definition at line 1004 of file smtps.class.php.
SMTPs::setTrackId | ( | $_val = '' | ) |
Set trackid.
string | $_val | Value |
Definition at line 334 of file smtps.class.php.
SMTPs::setTransEncode | ( | $_strTransEncode | ) |
Content-Transfer-Encoding, Defaulted to '7bit' This can be changed for 2byte characters sets Known Encode Types.
string | $_strTransEncode | Content-Transfer-Encoding |
Definition at line 1058 of file smtps.class.php.
SMTPs::setTransEncodeType | ( | $_strTransEncodeType | ) |
Content-Transfer-Encoding, Defaulted to '0' [ZERO] This can be changed for 2byte characters sets Known Encode Types.
string | $_strTransEncodeType | Content-Transfer-Encoding |
Definition at line 1091 of file smtps.class.php.
SMTPs::setTransportType | ( | $_type = 0 | ) |
Determines the method inwhich the messages are to be sent.
int | $_type | Integer value representing Mail Transport Type |
Definition at line 868 of file smtps.class.php.
SMTPs::setXheader | ( | $strXdata | ) |
Message X-Header Content This is a simple "insert".
Whatever is given will be placed "as is" into the Xheader array.
string | $strXdata | Message X-Header Content |
Definition at line 1941 of file smtps.class.php.
SMTPs::socket_send_str | ( | $_strSend, | |
$_returnCode = null, | |||
$CRLF = "\r\n" ) |
Send str.
string | $_strSend | String to send |
string | $_returnCode | Expected return code |
string | $CRLF | CRLF |
Definition at line 2042 of file smtps.class.php.
References server_parse().
Referenced by _server_authenticate(), and sendMsg().