Envoie avec PHPmailer indésirable si utilisation de require [Résolu]

Signaler
Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
32397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
-
Bonjour à tous,

J'ai plusieurs pages PHP sur mon site, donc certaines envoient des mails. Pour ça, j'ai utilisé PHP mailer (qui se connecte à un compte Gmail), et mis dans ma page le code proposé :
require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'user@example.com';                 // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable encryption, 'ssl' also accepted

$mail->From = 'from@example.com';
$mail->FromName = 'Mailer';
$mail->addAddress('joe@example.net', 'Joe User');     // Add a recipient
$mail->addAddress('ellen@example.com');               // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->WordWrap = 50;                                 // Set word wrap to 50 characters
$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

J'ai évidemment modifié ce code pour me connecter à mon compte Gmail, et pour configurer le message à envoyer. Ca, ça fonctionne, aucun problème :)

Comme j'ai plusieurs pages qui envoient des mails, j'aurais voulu mettre ce code dans une fonction (qui prends en paramètre le contenu, le destinataire etc ...) dans une autre page PHP (qui se trouve dans ressources/mail.php), que j'appelle ensuite dans mes différentes pages, avec :
require_once 'ressources/mail.php';

Et dès que je fais ça, le mail envoyé est considéré comme SPAM par le destinataire (au moins sur Gmail) ! :(
Savez-vous pourquoi ? Est-ce que ça peut se corriger ou est-ce que je suis forcé de ne pas utiliser de require ?

Merci d'avance de votre aide :)

2 réponses

Messages postés
145
Date d'inscription
dimanche 15 février 2009
Statut
Membre
Dernière intervention
22 février 2021
3
Dans le mail que j'envoie il n'y a ni image, ni URL vers une IP, ni BCC (j'avais commenté la ligne).

J'ai fait plusieurs tests comparatifs entre la version qui marche et la version qui marchait pas.

En fait, le problème venait de la ligne :
$mail->setFrom('monadresse@gmail.com', 'moi');

Le nom (ici 'nom') ne correspondait pas tout à fait au nom définit dans le compte Gmail associé, et visiblement ça venait de là.

C'est susceptible l'envoie de mail aujourd'hui quand même !
Merci les spammers qui en ont abusé et qui fait que le système est hyper protégé aujourd'hui :/

Merci de ton aide en tout cas :)
Messages postés
32397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
C'est susceptible l'envoie de mail aujourd'hui quand même !

:-)



Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
Messages postés
32397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 mai 2021
347
Bonjour,

Et dès que je fais ça, le mail envoyé est considéré comme SPAM par le destinataire (au moins sur Gmail) ! :(
Savez-vous pourquoi ?

Je doute que ça soit du au fait de passer par un require ou non...

Les messageries se basent sur differents critères pour classer un mail en SPAM.
Au niveau de son contenu .. s'il y a une grande quantité d'images
.. si il y a une URL pointant sur une IP
... etc (je n'ai plus toutes les règles en tête).

Ca peut aussi venir de l'utilisation du BCC ...



Dans un premier temps il faudrait que tu testes ton envoie de mail
en retirant le BCC ....
Si ça ne marche toujours pas ... en retirant les pièces jointes...