FIX Mail smtps truncated if content has a line with single .
Conflicts: htdocs/core/class/CMailFile.class.php
This commit is contained in:
parent
53f740c60e
commit
6badf724cf
@ -176,7 +176,7 @@ class CMailFile
|
|||||||
if (empty($msg))
|
if (empty($msg))
|
||||||
{
|
{
|
||||||
dol_syslog("CMailFile::CMailfile: Try to send an email with empty body");
|
dol_syslog("CMailFile::CMailfile: Try to send an email with empty body");
|
||||||
$msg='.'; // Avoid empty message (with empty message conten show a multipart structure)
|
$msg = '.'; // Avoid empty message (with empty message content, you will see a multipart structure)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Detect if message is HTML (use fast method)
|
// Detect if message is HTML (use fast method)
|
||||||
@ -198,7 +198,7 @@ class CMailFile
|
|||||||
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||||
|
|
||||||
// Replace relative /viewimage to absolute path
|
// Replace relative /viewimage to absolute path
|
||||||
$msg = preg_replace('/src="'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage\.php/ims', 'src="'.$urlwithroot.'/viewimage.php', $msg, -1, $nbrep);
|
$msg = preg_replace('/src="'.preg_quote(DOL_URL_ROOT, '/').'\/viewimage\.php/ims', 'src="'.$urlwithroot.'/viewimage.php', $msg, -1);
|
||||||
|
|
||||||
if (! empty($conf->global->MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML)) $this->msgishtml=1; // To force to send everything with content type html.
|
if (! empty($conf->global->MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML)) $this->msgishtml=1; // To force to send everything with content type html.
|
||||||
|
|
||||||
@ -330,6 +330,9 @@ class CMailFile
|
|||||||
$msg = $this->checkIfHTML($msg);
|
$msg = $this->checkIfHTML($msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replace . alone on a new line with .. to avoid to have SMTP interpret this as end of message
|
||||||
|
$msg = preg_replace('/(\r|\n)\.(\r|\n)/ims', '\1..\2', $msg);
|
||||||
|
|
||||||
if ($this->msgishtml) $smtps->setBodyContent($msg, 'html');
|
if ($this->msgishtml) $smtps->setBodyContent($msg, 'html');
|
||||||
else $smtps->setBodyContent($msg, 'plain');
|
else $smtps->setBodyContent($msg, 'plain');
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user