/** * Test simple de l'envois de mail */ public function testMail() { $this->markTestIncomplete('Mailer à tester'); return; $mail = new CopixEMail('*****@*****.**', '*****@*****.**', '*****@*****.**', '[sujet]test de message', 'Contenu du message'); $this->assertTrue($mail->send('*****@*****.**')); }
function CopixTextEMail($to, $cc, $cci, $subject, $message) { parent::CopixEMail($to, $cc, $cci, $subject, $message); }
/** * Sends an email. * @param CopixEMail $copixEMail the mail to send * @param string $fromAdress the expeditor email adress * @param string $fromName the expeditor name * @return boolean (the mail was send or not) */ public function send(CopixEMail $copixEMail, $fromAdress = null, $fromName = null) { $mailer = $this->_createMailer(); // Prépare le mail $to = $copixEMail->prepareEmail($mailer, $fromAdress, $fromName); $toReturn = false; if (intval(CopixConfig::get('|mailEnabled')) == 1) { $mailMethod = CopixConfig::get('|mailMethod'); // Met un place un error handle pour récuperer les messages d'avertissement set_error_handler(array($this, '_handleError'), E_WARNING | E_CORE_WARNING | E_USER_WARNING); $oldHtmlErrors = ini_set('html_errors', false); // Effectue l'envoi $toReturn = $mailer->send($to, $mailMethod); // Restaure le handler ini_set('html_errors', $oldHtmlErrors); restore_error_handler(); /// Récupère aussi les erreurs du mailer if (isset($mailer->errors)) { $this->errors = array_merge($this->errors, $mailer->errors); } $status = $toReturn ? 'SENT' : 'FAILED'; } else { $status = "DISABLED"; } if (intval(CopixConfig::get('|mailLogging')) == 1) { // Construit le message si nécessaire (pour calculer la taille) if (!$mailer->is_built) { $mailer->buildMessage(); } // Message de base $msg = sprintf("%s: %s, from=%s, to=%s, cc=%s, bcc=%s, subject=%s, size=%d", date("Y-m-d H:i:s"), $status, $this->_header($mailer, 'From'), !empty($to) ? join(",", $to) : '', $this->_header($mailer, 'Cc'), $this->_header($mailer, 'Bcc'), $this->_header($mailer, 'Subject'), strlen($mailer->output)); // Ajoute les messages d'erreurs s'il y en a if (count($this->errors)) { $msg .= sprintf(", errors=<%s>", join("|", $this->errors)); } // Récupère la référence à l'appelant $me = dirname(__FILE__); $logExtra = array(); foreach (debug_backtrace() as $trace) { if ($trace['file'] && substr($trace['file'], 0, strlen($me)) != $me) { $logExtra = $trace; break; } } // Ecrit le log _log($msg, "email", $status == "FAILED" ? CopixLog::ERROR : CopixLog::NOTICE, $logExtra); } return $toReturn; }