éviter l'Erreur TO_NO_BRKTS_HTML_IMG de Spamassassin #10

Open
opened 8 months ago by Yohooo · 1 comments
Yohooo commented 8 months ago
Collaborator

Pour éviter que Spamassassin tague les E-mail contenant une image avec l'erreur TO_NO_BRKTS_HTML_IMG (-2 points quand même !) il faut obligatoirement mettre les adresses des destinataires au format "Nom monadresse@domaine.com".

Je ne suis pas un as des API d'envoi E-mail, donc je m'en suis sorti en bricolant la fonctionsetDest de Facteurmail.php comme ceci. Mais ça ne fait que colmater le problème en rempplaçant le nom du destinataire par l'E-mail, donc on peut faire mieux.

public function setDest($email,$name='') {
    $this->clearAllRecipients();

    //Pour un envoi multiple de mail, $email doit être un tableau avec les adresses.
    if (is_array($email)){
        foreach ($email as $cle => $adresseMail){
            if ( $name=='' ) $name = $adresseMail;
            if (!$this->AddAddress($adresseMail, $name)){
                $this->log("Erreur AddAddress $adresseMail : " . print_r($this->ErrorInfo, true), _LOG_ERREUR);
            }
        }
    } else{
        if ( $name=='' ) $name = $email;
        if (!$this->AddAddress($email,$email)) {
            $this->log("Erreur AddAddress $email : " . print_r($this->ErrorInfo, true), _LOG_ERREUR);
        }
    }
}

Pour éviter que Spamassassin tague les E-mail contenant une image avec l'erreur TO_NO_BRKTS_HTML_IMG (-2 points quand même !) il faut obligatoirement mettre les adresses des destinataires au format "Nom <monadresse@domaine.com>". Je ne suis pas un as des API d'envoi E-mail, donc je m'en suis sorti en bricolant la fonctionsetDest de Facteurmail.php comme ceci. Mais ça ne fait que colmater le problème en rempplaçant le nom du destinataire par l'E-mail, donc on peut faire mieux. ``` public function setDest($email,$name='') { $this->clearAllRecipients(); //Pour un envoi multiple de mail, $email doit être un tableau avec les adresses. if (is_array($email)){ foreach ($email as $cle => $adresseMail){ if ( $name=='' ) $name = $adresseMail; if (!$this->AddAddress($adresseMail, $name)){ $this->log("Erreur AddAddress $adresseMail : " . print_r($this->ErrorInfo, true), _LOG_ERREUR); } } } else{ if ( $name=='' ) $name = $email; if (!$this->AddAddress($email,$email)) { $this->log("Erreur AddAddress $email : " . print_r($this->ErrorInfo, true), _LOG_ERREUR); } } } ```
Collaborator

Et ça marche ?
Et avant, c'était déclanché par quel type de mail ?

Sur StackOverfloow qui s'appuie sur le source de spamassassin qui définit TO_NO_BRKTS_HTML_IMG on voit que ça qualifie un mail HTML qui ne contient qu'une seule image (mais possiblement du texte en plus j'ai l'impression) et dont l'adresse destinataire ne contient pas de brackets (PAS nom < email>).

Et ça marche ? Et avant, c'était déclanché par quel type de mail ? Sur [StackOverfloow](https://stackoverflow.com/questions/40082594/meaning-of-to-no-brkts-html-img-in-spamassassin) qui s'appuie sur le [source de spamassassin qui définit TO_NO_BRKTS_HTML_IMG](https://github.com/apache/spamassassin/blob/47a9e7d8a4271cbe11df8eeacf6a50628f1f6caf/rulesrc/sandbox/jhardin/20_tbird_image_spam.cf#L30) on voit que ça qualifie un mail HTML qui ne contient qu'une seule image (mais possiblement du texte en plus j'ai l'impression) et dont l'adresse destinataire ne contient pas de brackets (PAS `nom < email>`).
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.