Bonsoir à tous
Je suis un cours PHP avancé

Il est dit : " de télécharger cette classe", c'est fait via GitHub.com.
puis de faire un require 'PHPMailer/class.phpmailer.php';
Nulle part je trouve ce fihier pour le mettre en relation avec mon script .php qui se trouve dans mon projet avec mon formulaire.html

Je récupère :
un dossier PHPMailer-master
dans lequel j'ai un fichier get_oauth_token.php et un dossier src,
ou il y a les fichiers suivant : Exception.php, OAuth.php, PHPMailer.php, POP3.php et SMTP.php, mais pas de class.phpmailer.php.
La première étape du cours oubli cette info est ce que c'est normal ?
Et pas de solution sur la toile, enfin après une petite heure j'ai abandonné...
Merci à tous,
Régis
rchemineau@icloud.com
Modérateur
Bonjour,

Il est probable qu'il y ait une coquille dans l'énoncé de l'exercice.

Fais un require 'PHPMailer-master/src/PHPMailer.php'; et ça devrait tomber en marche tout seul (attention aux majuscules : bien vérifier que ça correspond effectivement aux noms des fichiers téléchargés).

Amicalement,
Hello Régis,
En regardant la documentation du repo Github de PHPMailer (https://github.com/PHPMailer/PHPMailer), le fichier class.phpmailer.php n'existe plus depuis la dernière version 6.0.0.
Tu as du coup 2 solutions, soit inclure les nouveaux fichiers dans la nouvelle structure de cette dernière version (au risque d'être en décalage avec ton cours) ou bien télécharger la version 5.2.26 (https://github.com/PHPMailer/PHPMailer/tree/v5.2.26) de la librairie.
Modifié par MatthieuR (18 Dec 2017 - 22:36)
Bonjour,

La mise en oeuvre de PHPMailer 5 est très facile.

Par contre pour la version 6 je n'y suis pas arrivé et je ne suis pas le seul, voir cette discussion.

Si quelqu'un a réussi et peut m'aider je peux détailler mes problèmes.
Bonjour,

Si l'on utilise pas le composer, j'ai trouvé ce moyen de mettre en œuvre PHPMailer 6.

En tout début de script, juste après <?php :

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

A la bonne place dans votre script :

require_once 'PHPMailer603/src/PHPMailer.php';
require_once 'PHPMailer603/src/SMTP.php';
require_once 'PHPMailer603/src/Exception.php';

// PHPMailer603 est le nom du dossier dans lequel vous avez chargé les dossiers et programmes PHPMailer 6

Dans le même script ou dans une fonction :

$mail=new PHPMailer\PHPMailer\PHPMailer;


Le programme d'envoi du mail peut ensuite être le même que celui utilisé pour PHPMailer 5.

Notre : si vous n'utilisez pas SMTP pour l'envoi des mails vous pouvez enlever les lignes correspondantes dans use et require. Personnellement j'utilise isMail qui est bien mieux traité chez OVH que isSMTP.

J'attends des tests sur une grande quantité de mails mais mes tests sur quelques dizaines de mails sont bons.
Modifié par boteha_2 (02 Apr 2018 - 19:46)
Bonjour,

Après avoir passé mon site d'ANSI à UTF-8 j'ai un problème avec les pièces jointes au format .txt. envoyées par PHPMailer

Certains caractères spéciaux s'affichent mal.
Par contre, aucun problème avec les PDF.

Je me demande si le problème pourrait concerner PHPMailer, bien qu'il soit bien précisé que le Charset voulu est UTF-8 :

$mail->CharSet = 'UTF-8';

Je précise que le problème ne concerne que les pièces jointes, le corps du mal est parfaitement traité.

Doc de base ici.

Si vous avez une idée, merci d'avance.