Envoie avec PHPmailer indésirable si utilisation de require

Résolu
yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 - Modifié par yoanpg le 7/05/2015 à 09:23
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 7 mai 2015 à 11:39
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 :)
A voir également:

2 réponses

yoanpg Messages postés 156 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 20 janvier 2024 3
Modifié par yoanpg le 7/05/2015 à 11:28
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 :)
1
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 mai 2015 à 11:39
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
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 mai 2015 à 10:08
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...


0
Rejoignez-nous