Fix option moreinheader not correctly supported with smtps
This commit is contained in:
parent
3c79f3acb5
commit
0ef963604f
@ -54,6 +54,7 @@ class CMailFile
|
||||
var $deliveryreceipt;
|
||||
|
||||
var $eol;
|
||||
var $eol2;
|
||||
var $atleastonefile=0;
|
||||
var $error='';
|
||||
|
||||
@ -103,7 +104,7 @@ class CMailFile
|
||||
* @param string $errors_to Email for errors-to
|
||||
* @param string $css Css option
|
||||
* @param string $trackid Tracking string
|
||||
* @param string $moreinheader More in header (for phpmail only for the moment)
|
||||
* @param string $moreinheader More in header. $moreinheader must contains the "\r\n" (TODO not supported for other MAIL_SEND_MODE different than 'phpmail' and 'smtps' for the moment)
|
||||
*/
|
||||
function __construct($subject,$to,$from,$msg,$filename_list=array(),$mimetype_list=array(),$mimefilename_list=array(),$addr_cc="",$addr_bcc="",$deliveryreceipt=0,$msgishtml=0,$errors_to='',$css='',$trackid='',$moreinheader='')
|
||||
{
|
||||
@ -117,6 +118,7 @@ class CMailFile
|
||||
{
|
||||
$this->eol="\n";
|
||||
$this->eol2="\n";
|
||||
$moreinheader = str_replace("\r\n","\n",$moreinheader);
|
||||
}
|
||||
|
||||
// On defini mixed_boundary
|
||||
@ -209,7 +211,7 @@ class CMailFile
|
||||
$this->deliveryreceipt = $deliveryreceipt;
|
||||
$this->trackid = $trackid;
|
||||
$smtp_headers = $this->write_smtpheaders();
|
||||
if (! empty($moreinheader)) $smtp_headers.=$moreinheader;
|
||||
if (! empty($moreinheader)) $smtp_headers.=$moreinheader; // $moreinheader contains the \r\n
|
||||
|
||||
// Define mime_headers
|
||||
$mime_headers = $this->write_mimeheaders($filename_list, $mimefilename_list);
|
||||
@ -270,7 +272,8 @@ class CMailFile
|
||||
$smtps->setFrom($this->getValidAddress($from,0,1));
|
||||
$smtps->setTrackId($trackid);
|
||||
$smtps->setReplyTo($this->getValidAddress($from,0,1)); // Set property with this->smtps->setReplyTo after constructor if you want to use another value than the From
|
||||
|
||||
if (! empty($moreinheader)) $smtps->setMoreInHeader($moreinheader);
|
||||
|
||||
if (! empty($this->html))
|
||||
{
|
||||
if (!empty($css))
|
||||
@ -324,7 +327,8 @@ class CMailFile
|
||||
$this->phpmailer->SetFrom($this->getValidAddress($from,0,1));
|
||||
$this->phpmailer->SetReplyTo($this->getValidAddress($from,0,1)); // Set property with this->phpmailer->setReplyTo after constructor if you want to use another value than the From
|
||||
// TODO Add trackid into smtp header
|
||||
|
||||
// TODO if (! empty($moreinheader)) ...
|
||||
|
||||
if (! empty($this->html))
|
||||
{
|
||||
if (!empty($css))
|
||||
@ -377,7 +381,8 @@ class CMailFile
|
||||
$msgid = $headers->get('Message-ID');
|
||||
$msgid->setId($headerID);
|
||||
$headers->addIdHeader('References', $headerID);
|
||||
|
||||
// TODO if (! empty($moreinheader)) ...
|
||||
|
||||
// Give the message a subject
|
||||
$this->message->setSubject($this->encodetorfc2822($subject));
|
||||
|
||||
|
||||
@ -225,7 +225,8 @@ class SMTPs
|
||||
var $log = '';
|
||||
var $_errorsTo = '';
|
||||
var $_deliveryReceipt = 0;
|
||||
var $_trackId = '';
|
||||
var $_trackId = '';
|
||||
var $_moreInHeader = '';
|
||||
|
||||
|
||||
/**
|
||||
@ -261,15 +262,36 @@ class SMTPs
|
||||
}
|
||||
|
||||
/**
|
||||
* Set moreInHeader
|
||||
*
|
||||
* @param string $_val Value
|
||||
* @return void
|
||||
*/
|
||||
function setMoreInHeader($_val = '')
|
||||
{
|
||||
$this->_moreinheader = $_val;
|
||||
}
|
||||
|
||||
/**
|
||||
* get trackid
|
||||
*
|
||||
* @return string Delivery receipt
|
||||
* @return string Track id
|
||||
*/
|
||||
function getTrackId()
|
||||
{
|
||||
return $this->_trackId;
|
||||
}
|
||||
|
||||
/**
|
||||
* get moreInHeader
|
||||
*
|
||||
* @return string moreInHeader
|
||||
*/
|
||||
function getMoreInHeader()
|
||||
{
|
||||
return $this->_moreinheader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set errors to
|
||||
*
|
||||
@ -1213,7 +1235,9 @@ class SMTPs
|
||||
{
|
||||
$_header .= 'Message-ID: <' . time() . '.SMTPs@' . $host . ">\r\n";
|
||||
}
|
||||
|
||||
if ( $this->getMoreInHeader() )
|
||||
$_header .= $this->getMoreInHeader(); // Value must include the "\r\n";
|
||||
|
||||
//$_header .=
|
||||
// 'Read-Receipt-To: ' . $this->getFrom( 'org' ) . "\r\n"
|
||||
// 'Return-Receipt-To: ' . $this->getFrom( 'org' ) . "\r\n";
|
||||
@ -1227,15 +1251,16 @@ class SMTPs
|
||||
|
||||
// DOL_CHANGE LDR
|
||||
if ( $this->getDeliveryReceipt() )
|
||||
$_header .= 'Disposition-Notification-To: '.$this->getFrom('addr') . "\r\n";
|
||||
$_header .= 'Disposition-Notification-To: '.$this->getFrom('addr') . "\r\n";
|
||||
if ( $this->getErrorsTo() )
|
||||
$_header .= 'Errors-To: '.$this->getErrorsTo('addr') . "\r\n";
|
||||
$_header .= 'Errors-To: '.$this->getErrorsTo('addr') . "\r\n";
|
||||
if ( $this->getReplyTo() )
|
||||
$_header .= "Reply-To: ".$this->getReplyTo('addr') ."\r\n";
|
||||
$_header .= "Reply-To: ".$this->getReplyTo('addr') ."\r\n";
|
||||
|
||||
$_header .= 'X-Mailer: Dolibarr version ' . DOL_VERSION .' (using SMTPs Mailer)' . "\r\n"
|
||||
. 'Mime-Version: 1.0' . "\r\n";
|
||||
$_header .= 'X-Mailer: Dolibarr version ' . DOL_VERSION .' (using SMTPs Mailer)' . "\r\n";
|
||||
$_header .= 'Mime-Version: 1.0' . "\r\n";
|
||||
|
||||
|
||||
return $_header;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user