diff --git a/htdocs/lib/CMailFile.class.php b/htdocs/lib/CMailFile.class.php
index 41c1ddff4f4..3b7681404d0 100644
--- a/htdocs/lib/CMailFile.class.php
+++ b/htdocs/lib/CMailFile.class.php
@@ -164,24 +164,25 @@ class CMailFile
*/
function sendfile()
{
- global $conf;
+ global $conf;
- dolibarr_syslog("CMailFile::sendfile addr_to=".$this->addr_to.", subject=".$this->subject);
- dolibarr_syslog("CMailFile::sendfile header=\n".$this->headers);
- //dolibarr_syslog("CMailFile::sendfile message=\n".$message);
- //$this->send_to_file();
+ dolibarr_syslog("CMailFile::sendfile addr_to=".$this->addr_to.", subject=".$this->subject);
+ dolibarr_syslog("CMailFile::sendfile header=\n".$this->headers);
+ //dolibarr_syslog("CMailFile::sendfile message=\n".$message);
+ //$this->send_to_file();
- $errorlevel=error_reporting();
- error_reporting($errorlevel ^ E_WARNING); // Désactive warnings
+ $errorlevel=error_reporting();
+ error_reporting($errorlevel ^ E_WARNING); // Désactive warnings
- $res=false;
+ $res=false;
- if (! $conf->global->MAIN_DISABLE_ALL_MAILS)
- {
- if ($conf->global->MAIN_MAIL_SMTP_SERVER) ini_set('SMTP',$conf->global->MAIN_MAIL_SMTP_SERVER);
- if ($conf->global->MAIN_MAIL_SMTP_PORT) ini_set('smtp_port',$conf->global->MAIN_MAIL_SMTP_PORT);
+ if (! $conf->global->MAIN_DISABLE_ALL_MAILS)
+ {
+ if ($conf->global->MAIN_MAIL_SMTP_SERVER) ini_set('SMTP',$conf->global->MAIN_MAIL_SMTP_SERVER);
+ if ($conf->global->MAIN_MAIL_SMTP_PORT) ini_set('smtp_port',$conf->global->MAIN_MAIL_SMTP_PORT);
+ if (!ini_get('sendmail_from') && $this->addr_from) ini_set('sendmail_from',getValidAddress($this->addr_from,2));
- $dest=getValidAddress($this->addr_to,2);
+ $dest=getValidAddress($this->addr_to,2);
if (! $dest)
{
$this->error="Failed to send mail to SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port')."
Recipient address '$dest' invalid";
@@ -190,29 +191,30 @@ class CMailFile
else
{
if ($this->errors_to)
- {
+ {
// \TODO Tester que le safe_mode est inactif car fonction mail avec ces param non dispo en safe_mode
- dolibarr_syslog("CMailFile::sendfile: mail start SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port').", with errorsto : ".getValidAddress($this->errors_to,1));
+ dolibarr_syslog("CMailFile::sendfile: mail start SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port').", with errorsto : ".getValidAddress($this->errors_to,1));
$res = mail($dest,$this->subject,stripslashes($this->message),$this->headers,"-f".getValidAddress($this->errors_to,2));
- }
- else
- {
- dolibarr_syslog("CMailFile::sendfile: mail start SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port'));
- //dolibarr_syslog("to=".getValidAddress($this->addr_to,2).", subject=".$this->subject.", message=".stripslashes($this->message).", header=".$this->headers);
+ }
+ else
+ {
+ dolibarr_syslog("CMailFile::sendfile: mail start SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port'));
+ //dolibarr_syslog("to=".getValidAddress($this->addr_to,2).", subject=".$this->subject.", message=".stripslashes($this->message).", header=".$this->headers);
$res = mail($dest,$this->subject,stripslashes($this->message),$this->headers);
- }
- if (! $res)
- {
- $this->error="Failed to send mail to SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port')."
Check your server logs and your firewalls setup";
- dolibarr_syslog("CMailFile::sendfile: mail end error=".$this->error);
- }
- else
- {
- dolibarr_syslog("CMailFile::sendfile: mail end success");
- }
+ }
+ if (! $res)
+ {
+ $this->error="Failed to send mail to SMTP=".ini_get('SMTP').", PORT=".ini_get('smtp_port')."
Check your server logs and your firewalls setup";
+ dolibarr_syslog("CMailFile::sendfile: mail end error=".$this->error);
+ }
+ else
+ {
+ dolibarr_syslog("CMailFile::sendfile: mail end success");
+ }
}
if ($conf->global->MAIN_MAIL_SMTP_SERVER) ini_restore('SMTP');
if ($conf->global->MAIN_MAIL_SMTP_PORT) ini_restore('smtp_port');
+ ini_restore('sendmail_from');
}
else
{