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 {