$this->AddCustomHeader("Errors-To: ".$this->Sender);\r
}\r
\r
- if (!empty($options['cc'])) {\r
- $this->AddCC( $options['cc'] );\r
- }\r
- if (!empty($options['bcc'])) {\r
- $this->AddBCC( $options['bcc'] );\r
+ if (!defined('_TEST_EMAIL_DEST')){\r
+ if (!empty($options['cc'])) {\r
+ $this->AddCC( $options['cc'] );\r
+ }\r
+ if (!empty($options['bcc'])) {\r
+ $this->AddBCC( $options['bcc'] );\r
+ }\r
}\r
- \r
+\r
if (isset($options['smtp']) AND $options['smtp'] == 'oui') {\r
$this->Mailer = 'smtp';\r
$this->Host = $options['smtp_host'];\r
}\r
\r
/*\r
- * Transforme du HTML en texte brut, mais proprement, c'est-à-dire en essayant\r
- * de garder les titrages, les listes, etc\r
+ * Transforme du HTML en texte brut, mais proprement\r
+ * utilise le filtre facteur_mail_html2text\r
+ * @uses facteur_mail_html2text()\r
*\r
* @param string $html Le HTML à transformer\r
* @return string Retourne un texte brut formaté correctement\r
*/\r
function html2text($html){\r
- // On remplace tous les sauts de lignes par un espace\r
- $html = str_replace("\n", ' ', $html);\r
- \r
- // Supprimer tous les liens internes\r
- $texte = preg_replace("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2", $html);\r
- \r
- // Supprime feuille style\r
- $texte = preg_replace(";<style[^>]*>[^<]*</style>;i", "", $texte);\r
- \r
- // Remplace tous les liens \r
- $texte = preg_replace("/\<a[^>]*href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2 (\\1)", $texte);\r
- \r
- // Les titres\r
- $texte = preg_replace(";<h1[^>]*>;i", "\n= ", $texte);\r
- $texte = str_replace("</h1>", " =\n\n", $texte);\r
- $texte = preg_replace(";<h2[^>]*>;i", "\n== ", $texte);\r
- $texte = str_replace("</h2>", " ==\n\n", $texte);\r
- $texte = preg_replace(";<h3[^>]*>;i", "\n=== ", $texte);\r
- $texte = str_replace("</h3>", " ===\n\n", $texte);\r
- \r
- // Une fin de liste\r
- $texte = preg_replace(";</(u|o)l>;i", "\n\n", $texte);\r
- \r
- // Une saut de ligne *après* le paragraphe\r
- $texte = preg_replace(";<p[^>]*>;i", "\n", $texte);\r
- $texte = preg_replace(";</p>;i", "\n\n", $texte);\r
- // Les sauts de ligne interne\r
- $texte = preg_replace(";<br[^>]*>;i", "\n", $texte);\r
- \r
- //$texte = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $texte);\r
- $texte = preg_replace (';<li[^>]*>;i', "\n".'- ', $texte);\r
- \r
- \r
- // accentuation du gras\r
- // <b>texte</b> -> **texte**\r
- $texte = preg_replace (';<b[^>]*>;i','**' ,$texte);\r
- $texte = str_replace ('</b>','**' ,$texte);\r
- \r
- // accentuation du gras\r
- // <strong>texte</strong> -> **texte**\r
- $texte = preg_replace (';<strong[^>]*>;i','**' ,$texte);\r
- $texte = str_replace ('</strong>','**' ,$texte);\r
- \r
- \r
- // accentuation de l'italique\r
- // <em>texte</em> -> *texte*\r
- $texte = preg_replace (';<em[^>]*>;i','/' ,$texte);\r
- $texte = str_replace ('</em>','*' ,$texte);\r
- \r
- // accentuation de l'italique\r
- // <i>texte</i> -> *texte*\r
- $texte = preg_replace (';<i[^>]*>;i','/' ,$texte);\r
- $texte = str_replace ('</i>','*' ,$texte);\r
- \r
- $texte = str_replace('œ', 'oe', $texte);\r
- $texte = str_replace(" ", " ", $texte);\r
- $texte = filtrer_entites($texte);\r
- \r
- // On supprime toutes les balises restantes\r
- $texte = supprimer_tags($texte);\r
- \r
- $texte = str_replace("\x0B", "", $texte); \r
- $texte = str_replace("\t", "", $texte) ;\r
- $texte = preg_replace(";[ ]{3,};", "", $texte);\r
- \r
- // espace en debut de ligne\r
- $texte = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $texte);\r
- \r
- //marche po\r
- // Bring down number of empty lines to 4 max\r
- $texte = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $texte);\r
- \r
- //saut de lignes en debut de texte\r
- $texte = preg_replace("/^(\r\n|\n|\r)*/", "\n\n", $texte);\r
- //saut de lignes en debut ou fin de texte\r
- $texte = preg_replace("/(\r\n|\n|\r)*$/", "\n\n", $texte);\r
- \r
- // Faire des lignes de 75 caracteres maximum\r
- //$texte = wordwrap($texte);\r
- \r
- return $texte;\r
+ return facteur_mail_html2text($html);\r
}\r
\r
/**\r