From 71430a3d255cb0f5ffd6a6dc76a5f78f72626fe7 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 6 Jun 2007 14:53:31 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20sous=20windows=20lorsqu'on=20d=E9finissa?= =?UTF-8?q?it=20la=20constante=20MAIN=5FMAIL=5FSMTP=5FSERVER=20le=20mail?= =?UTF-8?q?=20ne=20partait=20pas=20car=20la=20variable=20php=20"sendmail?= =?UTF-8?q?=5Ffrom"=20n'=E9tait=20pas=20d=E9finie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/CMailFile.class.php | 62 ++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 30 deletions(-) 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 {