Envoi Mails en Text / HTML et Fichier joint
Résolu
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
-
3 sept. 2012 à 22:16
Utilisateur anonyme - 12 sept. 2012 à 19:00
Utilisateur anonyme - 12 sept. 2012 à 19:00
A voir également:
- Envoi Mails en Text / HTML et Fichier joint
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
11 réponses
Utilisateur anonyme
4 sept. 2012 à 00:00
4 sept. 2012 à 00:00
Bonsoir rjl :-)
Voici ma triple réponse :
1 - Je vais regarder ton lien et je reviens
2 - l'opérateur qui combine la concaténation et l'affectation, c'est .= SANS ESPACE entre le . et le =
3 - je n'ai as regardé le détail de ton envoi de mail. Après avoir procédé comme toi pendant plusieurs années, c'est à dire tout faire à la main, je suis passé à phpmailer (bibliothèque php gratuite) depuis deux mois et je n'ai plus envie de revenir en arrière.
Voici ma triple réponse :
1 - Je vais regarder ton lien et je reviens
2 - l'opérateur qui combine la concaténation et l'affectation, c'est .= SANS ESPACE entre le . et le =
3 - je n'ai as regardé le détail de ton envoi de mail. Après avoir procédé comme toi pendant plusieurs années, c'est à dire tout faire à la main, je suis passé à phpmailer (bibliothèque php gratuite) depuis deux mois et je n'ai plus envie de revenir en arrière.
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
4 sept. 2012 à 00:58
4 sept. 2012 à 00:58
Merci de tes réponses ; je n'ai pas le temps de les voir en détail maintenant ayant encore un courrier à écrire et faire partir en mail.
Toutefois, j'avais regardé (de loin) phpmailer mais hésité à me rajouter cela sur le dos !
Si tu penses que ce sera plus simple ou sécurisant... pourquoi pas !
@+ et merci
René-Jacques RJL2904
Toutefois, j'avais regardé (de loin) phpmailer mais hésité à me rajouter cela sur le dos !
Si tu penses que ce sera plus simple ou sécurisant... pourquoi pas !
@+ et merci
René-Jacques RJL2904
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
5 sept. 2012 à 00:57
5 sept. 2012 à 00:57
Bonjour le père,
Une situation embrouillée...
Après quelques péripéties difficultés à dézipper, coloration syntaxique à restaurer, etc, j'accède à class.phpmailer.php.
J'ai pris en compte le tuto de développez.com
Un mail d'essai à fonctionné avec les habituels problèmes d'encodzge !
Dans l'immédiat, je traduis une note (20 pages) assez complète sur class.phpmailer.php.
C'est à la fois nécessaire mais pas simple sans la pratique !
Mail envoyé de l'un de mes comptes et reçu sur un autre :
Un mail envoyé avec PHPMailer!
Boîte de réception x
René-Jacques
17:00 (Il y a 7 heures)
à rjl40
Bonjour à tous les adhérents de l\'UTL Sud Goëlo,
J'ai pris bonne note de tes conseils et espère m'y remettre demain.
@bientôt RJL2905
Une situation embrouillée...
Après quelques péripéties difficultés à dézipper, coloration syntaxique à restaurer, etc, j'accède à class.phpmailer.php.
J'ai pris en compte le tuto de développez.com
Un mail d'essai à fonctionné avec les habituels problèmes d'encodzge !
Dans l'immédiat, je traduis une note (20 pages) assez complète sur class.phpmailer.php.
C'est à la fois nécessaire mais pas simple sans la pratique !
Mail envoyé de l'un de mes comptes et reçu sur un autre :
Un mail envoyé avec PHPMailer!
Boîte de réception x
René-Jacques
17:00 (Il y a 7 heures)
à rjl40
Bonjour à tous les adhérents de l\'UTL Sud Goëlo,
J'ai pris bonne note de tes conseils et espère m'y remettre demain.
@bientôt RJL2905
Utilisateur anonyme
5 sept. 2012 à 08:07
5 sept. 2012 à 08:07
pour l'encodage, recherche 'Charset' dans la doc :
$mail->CharSet = 'UTF-8';
Pour le \ devant l'apostrophe, je n'ai rien fait de spécial et je n'ai pas ce problème. Compte tenu de ton manque d'aisance avec les ' et les ", j'ai tendance à penser que c'est toi qui l'as ajouté dans ton message.
$mail->CharSet = 'UTF-8';
Pour le \ devant l'apostrophe, je n'ai rien fait de spécial et je n'ai pas ce problème. Compte tenu de ton manque d'aisance avec les ' et les ", j'ai tendance à penser que c'est toi qui l'as ajouté dans ton message.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
8 sept. 2012 à 22:48
8 sept. 2012 à 22:48
Bonjour à tous,
Je suis toujours sur une tentative d'utiliser PHPMailer ; toutefois, dans l'immédiat (et de manière pratique), j'ai révisé mes ambitions à la baisse : envoi de mail TEXT avec une unique pièce jointe (Word ou équivalent) envoyé par le serveur SMTP de mon hébergeur.
Il n'empêche que je patauge lamentablement malgré la lecture (et traduction de plusieurs tutos).
Je m'inquiète d'autant plus que le plus important et précis des tutos est de 2006 ( https://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial/ ) " This is meant to be an improved version of the article written by PHPFreaks founder" !
PHPMailer est-il toujours employé ?
J'ai créé un fichier de configuration config.php et l'ai adapté à mon application, j'ai isolé class.phpmailer.php ainsi que d'autres php mis à disposition : class.smtp.php, class.extender.php, ou encore MailClass.inc ; je trouve, toujours dans le même tuto une Fonction FreakMailer() servant à instancier un objet Mail le tout avec une fonction SMTPSend(); pour l'envoi par SMTP... (au lieu du send() habituel)
Problème : je ne sais pas faire la jonction entre ces divers php d'autant que bien que venant d'un tuto unique, les éléments semblent redondants pour partie (sauf à ce que certains soient alimentés en cascade) ?
Ça fait beaucoup pour un débutant comme moi qui peine déjà à décrypter un $this-> d'initialisation d'une propriété...
Merci d'avance à qui peut m'éclairer sur ces aspects ou m'aiguiller sur des pistes d'aide
@bientôt RJL2908
Je suis toujours sur une tentative d'utiliser PHPMailer ; toutefois, dans l'immédiat (et de manière pratique), j'ai révisé mes ambitions à la baisse : envoi de mail TEXT avec une unique pièce jointe (Word ou équivalent) envoyé par le serveur SMTP de mon hébergeur.
Il n'empêche que je patauge lamentablement malgré la lecture (et traduction de plusieurs tutos).
Je m'inquiète d'autant plus que le plus important et précis des tutos est de 2006 ( https://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial/ ) " This is meant to be an improved version of the article written by PHPFreaks founder" !
PHPMailer est-il toujours employé ?
J'ai créé un fichier de configuration config.php et l'ai adapté à mon application, j'ai isolé class.phpmailer.php ainsi que d'autres php mis à disposition : class.smtp.php, class.extender.php, ou encore MailClass.inc ; je trouve, toujours dans le même tuto une Fonction FreakMailer() servant à instancier un objet Mail le tout avec une fonction SMTPSend(); pour l'envoi par SMTP... (au lieu du send() habituel)
Problème : je ne sais pas faire la jonction entre ces divers php d'autant que bien que venant d'un tuto unique, les éléments semblent redondants pour partie (sauf à ce que certains soient alimentés en cascade) ?
Ça fait beaucoup pour un débutant comme moi qui peine déjà à décrypter un $this-> d'initialisation d'une propriété...
Merci d'avance à qui peut m'éclairer sur ces aspects ou m'aiguiller sur des pistes d'aide
@bientôt RJL2908
Utilisateur anonyme
8 sept. 2012 à 23:10
8 sept. 2012 à 23:10
Sur le site https://sourceforge.net/projects/phpmailer/ on voit que la dernière version date du 29 juillet 2012. Alors oui, phpmailer est encore vivant !
Pour ma part, je n'ai installé sur mon site que :
class.phpmailer.php
class.smtp.php
phpmailer.lang-fr.php
Tu n'as à faire d'include que de class.phpmailer.php, il se charge d'inclure les autres.
J'ai démarré en me servant de l'exemple test_smtp_basic.php du dossier examples de l'installation.
Pour ma part, je n'ai installé sur mon site que :
class.phpmailer.php
class.smtp.php
phpmailer.lang-fr.php
Tu n'as à faire d'include que de class.phpmailer.php, il se charge d'inclure les autres.
J'ai démarré en me servant de l'exemple test_smtp_basic.php du dossier examples de l'installation.
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
Modifié par rjl le 10/09/2012 à 22:42
Modifié par rjl le 10/09/2012 à 22:42
Bonjour le père,
Une nouvelle fois, je me suis fait piéger par une réponse transmise hier soir et non récupérée ! C'est d'autant plus difficile pour reprendre le fil !
OK pour n'appeler que phpmailer.php ; j'ai aussi chargé le module français ; Quels sont les autres modules à préparer, même s'ils ont chargés automatiquement ? class.smtp ? Là encore, je crois que je vais avoir difficile à connaître l'adresse du serveur et espère aussi que le pasword est prévu.
J'indiquais que ça allait moins mal puisque (actuellement), avec tes indications, je n'ai plus de problème d'encodage !
Par ailleurs, j'ai pu faire des essais (très sages car limités à un message text) avec destinataires multiples, REPLY-TO, ...
Pour autant, j'ai bloqué sur l'envoi de pièces jointes et il va falloir pour la nième fois que je reprenne les tutos avec pièces jointes (généralement tournés vers le HTML : c'est tellement simple en Text... !). Je n'ai pas mis en place de frontière et c'est déjà, je suppose une cause de blocage !
Dans l'immédiat, je vais devoir me tourner vers mon hébergeur NUXIT car les serveurs entrant et sortant ne fonctionnent pas :
"Impossible d'ouvrir http://pop.MonSite/. Impossible de télécharger les données demandées."
Idem pour le serveur sortant :
"Impossible d'ouvrir http://smtp.MonSite/. Impossible de télécharger les données demandées."
A mon sens, il n'y a rien à paramétrer pour qu'il soit opérationnel.
Je suis intervenu sur le serveur NUXIT mais il n'y a guère que 2 ou 3 personnes valables pour intervenir et ses premiers conseils tombent forcément un peu à plat (4 tutos de base proposés (non que ça me fait du mal de lire ces tutos mais la réponse aux questions n'y est pas ! D'ailleurs, j'ai ouvert un ticket chez l'hébergeur lui-même car ça me parait sortir de l'ordinaire : les accès sont créés par NUXIT et, un peu comme pour PhpMadmin, je n'ai juste qu'à cliquer pour y accéder ! Dans ces conditions, ou il y a présentation des mails ou il est dit que le serveur est vide.
Voila, je te donnerai des nouvelles soit en cas de problème... soit si je progresse vraiment bien !!!
Bonne soirée RJL2910
Une nouvelle fois, je me suis fait piéger par une réponse transmise hier soir et non récupérée ! C'est d'autant plus difficile pour reprendre le fil !
OK pour n'appeler que phpmailer.php ; j'ai aussi chargé le module français ; Quels sont les autres modules à préparer, même s'ils ont chargés automatiquement ? class.smtp ? Là encore, je crois que je vais avoir difficile à connaître l'adresse du serveur et espère aussi que le pasword est prévu.
J'indiquais que ça allait moins mal puisque (actuellement), avec tes indications, je n'ai plus de problème d'encodage !
Par ailleurs, j'ai pu faire des essais (très sages car limités à un message text) avec destinataires multiples, REPLY-TO, ...
Pour autant, j'ai bloqué sur l'envoi de pièces jointes et il va falloir pour la nième fois que je reprenne les tutos avec pièces jointes (généralement tournés vers le HTML : c'est tellement simple en Text... !). Je n'ai pas mis en place de frontière et c'est déjà, je suppose une cause de blocage !
Dans l'immédiat, je vais devoir me tourner vers mon hébergeur NUXIT car les serveurs entrant et sortant ne fonctionnent pas :
"Impossible d'ouvrir http://pop.MonSite/. Impossible de télécharger les données demandées."
Idem pour le serveur sortant :
"Impossible d'ouvrir http://smtp.MonSite/. Impossible de télécharger les données demandées."
A mon sens, il n'y a rien à paramétrer pour qu'il soit opérationnel.
Je suis intervenu sur le serveur NUXIT mais il n'y a guère que 2 ou 3 personnes valables pour intervenir et ses premiers conseils tombent forcément un peu à plat (4 tutos de base proposés (non que ça me fait du mal de lire ces tutos mais la réponse aux questions n'y est pas ! D'ailleurs, j'ai ouvert un ticket chez l'hébergeur lui-même car ça me parait sortir de l'ordinaire : les accès sont créés par NUXIT et, un peu comme pour PhpMadmin, je n'ai juste qu'à cliquer pour y accéder ! Dans ces conditions, ou il y a présentation des mails ou il est dit que le serveur est vide.
Voila, je te donnerai des nouvelles soit en cas de problème... soit si je progresse vraiment bien !!!
Bonne soirée RJL2910
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
Modifié par rjl le 10/09/2012 à 23:23
Modifié par rjl le 10/09/2012 à 23:23
Et, les problèmes n'ont pas trainé... une intuition pour mon mot de passe et smtp a suffit pour me relancer... et j'ai fait fort : une erreur en ligne 105 pour un script de 43 lignes !
Warning: fsockopen() expects parameter 2 to be long, string given in /web/utlsudgoelo/www/index_fichiers/phpmailer/class.smtp.php on line 105
Language string failed to load: connect_host Je ne joins que le code du script d'envoi du mail :
Merci si tu vois quelqquechose... ce dont je ne doute pas !
RJL2910
Warning: fsockopen() expects parameter 2 to be long, string given in /web/utlsudgoelo/www/index_fichiers/phpmailer/class.smtp.php on line 105
Language string failed to load: connect_host Je ne joins que le code du script d'envoi du mail :
?> <!DOCTYPE html> <html lang="fr"><head> <title>AdhMails</title> <?php $passage_ligne = "\n"; require('../index_fichiers/phpmailer/class.phpmailer.php'); $mail = new PHPmailer(); // header('Content-type: text/plain; charset=UTF-8'); $mail->CharSet = 'UTF-8'; $mail->IsSMTP(); $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = 'ssl'; // sets the prefix to the servier $mail->Host='http://smtp.utl-sud-goelo.org'; // sets GMAIL as the SMTP server $mail->Port = 25; // set the SMTP port $mail->Username = 'p******r'; $mail->Password = 'J******B'; // pst password $mail->From='r********ail.com'; $mail->AddAddress('r*********e.fr'); $mail->Subject='Mal-être 5 envoyé avec PHPMailer !'; $mail->Body='Voici un exemple d\'e-mail au format Texte'; if(!$mail->Send()){ //Teste le return code de la fonction echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7) } else{ echo 'Mail envoyé avec succès'; } // $mail->SmtpClose(); unset($mail); exit; //
Merci si tu vois quelqquechose... ce dont je ne doute pas !
RJL2910
Utilisateur anonyme
Modifié par le père. le 11/09/2012 à 08:59
Modifié par le père. le 11/09/2012 à 08:59
Quels sont les autres modules à préparer, même s'ils ont chargés automatiquement
Comme indiqué dans mon message #8, je n'ai installé que :
class.phpmailer.php
class.smtp.php
phpmailer.lang-fr.php
J'avais oublié de préciser : et ça marche comme ça...
D'autre part, tiens-tu vraiment à utiliser ssl ? Si la réponse est oui, vérifie auprès de Nuxit mais le port généralement utilisé pour la connexion ssl est 465, pas 25
Ton adresse de serveur smtp est également mauvaise : comme l'indique la première partie de l'URL, http://smtp.utl-sud-goelo.org, il s'agit d'un serveur http, pas smtp.
une liste ici : https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai#top
Pour Nuxit, d'après leur page d'aide : smtp.nuxit.net pour un client mail ordinaire, mais il est possible que pour les scripts php hébergés chez eux ce soit localhost
Comme indiqué dans mon message #8, je n'ai installé que :
class.phpmailer.php
class.smtp.php
phpmailer.lang-fr.php
J'avais oublié de préciser : et ça marche comme ça...
D'autre part, tiens-tu vraiment à utiliser ssl ? Si la réponse est oui, vérifie auprès de Nuxit mais le port généralement utilisé pour la connexion ssl est 465, pas 25
Ton adresse de serveur smtp est également mauvaise : comme l'indique la première partie de l'URL, http://smtp.utl-sud-goelo.org, il s'agit d'un serveur http, pas smtp.
une liste ici : https://www.commentcamarche.net/faq/893-parametres-de-serveurs-pop-imap-et-smtp-des-principaux-fai#top
Pour Nuxit, d'après leur page d'aide : smtp.nuxit.net pour un client mail ordinaire, mais il est possible que pour les scripts php hébergés chez eux ce soit localhost
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
12 sept. 2012 à 18:41
12 sept. 2012 à 18:41
Bonjour le père et merci de la dernière réponse,
Je suis très heureux que pour toi "ça marche comme ça" car de mon côté, je ne vois pas même ce qu peut foirer pour que ça bloque en ligne 105 de class.smpt.php !
J'ai essayé diverses combinaisons avec ou sans SSL (en adaptant le port SMTP) mais rien n'y fait.
De son côté, NUXIT refuse à juste titre de voir l'aspect programmation mais me précise "il suffit d'utiliser les paramètres mails fournis qui fonctionnent sans souci donc ce sera smtp.votredomaine ou pop.votredomaine".
Dans mes essais, j'ai même forcé en INCLUDE Config.php car c'était le seul endroit où je trouvais le nom du serveur SMPT (où doit-il être déclaré, sinon ?).
Il est certain que si je n'informe pas les bonnes données, ça ne peut fonctionner mais, je pensais que si on informait un module comme Config.php, l'info était récupérée !
Pour autant, que je mette ou non ces phases php, je retombe inévitablement sur Warning: fsockopen() expects parameter 2 to be long, string given in /web/utlsudgoelo/www/index_fichiers/phpmailer/class.smtp.php on line 105
Language string failed to load: connect_host...
Désespérant ?
Bonne soirée et @+ rjl2913
Je suis très heureux que pour toi "ça marche comme ça" car de mon côté, je ne vois pas même ce qu peut foirer pour que ça bloque en ligne 105 de class.smpt.php !
J'ai essayé diverses combinaisons avec ou sans SSL (en adaptant le port SMTP) mais rien n'y fait.
De son côté, NUXIT refuse à juste titre de voir l'aspect programmation mais me précise "il suffit d'utiliser les paramètres mails fournis qui fonctionnent sans souci donc ce sera smtp.votredomaine ou pop.votredomaine".
Dans mes essais, j'ai même forcé en INCLUDE Config.php car c'était le seul endroit où je trouvais le nom du serveur SMPT (où doit-il être déclaré, sinon ?).
Il est certain que si je n'informe pas les bonnes données, ça ne peut fonctionner mais, je pensais que si on informait un module comme Config.php, l'info était récupérée !
Pour autant, que je mette ou non ces phases php, je retombe inévitablement sur Warning: fsockopen() expects parameter 2 to be long, string given in /web/utlsudgoelo/www/index_fichiers/phpmailer/class.smtp.php on line 105
Language string failed to load: connect_host...
Désespérant ?
Bonne soirée et @+ rjl2913
Utilisateur anonyme
12 sept. 2012 à 19:00
12 sept. 2012 à 19:00
Quand tu essayes sans authentification, le fais-tu bien en retirant aussi
$mail->SMTPAuth = true; // enable SMTP authentication
As-tu bien indiqué un Host SANS http:// ?
j'ai même forcé en INCLUDE Config.php De quel Config.php parles-tu ? le nom du serveur SMTP est déclaré par le $mail->Host
Quant à ton erreur ligne 105, chez moi la ligne 105 est en commentaire (ma version n'est pas très vieille) mais c'est comme si tu avais donné une chaîne à la place d'un nombre comme numéro de port. Bizarre.
Peux-tu m'envoyer le source en MP (toujours en cachant les mots de passe..) ?
$mail->SMTPAuth = true; // enable SMTP authentication
As-tu bien indiqué un Host SANS http:// ?
j'ai même forcé en INCLUDE Config.php De quel Config.php parles-tu ? le nom du serveur SMTP est déclaré par le $mail->Host
Quant à ton erreur ligne 105, chez moi la ligne 105 est en commentaire (ma version n'est pas très vieille) mais c'est comme si tu avais donné une chaîne à la place d'un nombre comme numéro de port. Bizarre.
Peux-tu m'envoyer le source en MP (toujours en cachant les mots de passe..) ?
4 sept. 2012 à 00:19
Un truc : si tu veux mettre des simple quotes autour de certaines parties de ton texte, comme 'webmaster', il vaut mieux écrire ta chaîne entre double quotes : comme ça, tu n'as pas à échapper les simples quotes, ça rend le code plus lisible et ça limite les erreurs. Surtout qu'en définissant tes chaînes entre doubles quotes, tu peux mettre tes variables directement dedans, pas besoin de concaténation, c'est encore une source d'erreur de moins...
Par exemple :