ENVOYER DES MAILS AVEC PIÈCES JOINTES

eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 - 13 juin 2003 à 08:35
cs_maxinounours Messages postés 1 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 22 février 2010 - 22 févr. 2010 à 18:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13338-envoyer-des-mails-avec-pieces-jointes

cs_maxinounours Messages postés 1 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 22 février 2010
22 févr. 2010 à 18:55
c'est un super script, mais j'ai rencontré deux problemes
1 : sur gmail ou autre, il m'envoie le mail en double... je ne sais pas du tout pourquoi
2 : sur outlook, il m'affiche seulement les codes :
le mail commence comme ca :

This is a multi-part message in MIME format.

------=_001
Content-Type: multipart/related;
boundary="----=_002"

------=_002
Content-Type: multipart/alternative;
boundary="----=_003"

------=_003
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

HTML only!

------=_003
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

s'il vous plait de l'aide :)
cs_Alpha911 Messages postés 88 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 août 2011
8 juin 2009 à 02:39
ceci semble etre un super script mail voila le soucis que je rencontre

PHP Warning: fread() [function.fread]: Length parameter must be greater than 0 in simplemail.php on line 230

du coup rien ne part
cs_bydouille Messages postés 37 Date d'inscription mercredi 9 juillet 2003 Statut Membre Dernière intervention 5 septembre 2012
14 juin 2008 à 12:49
Bonjour,

Oui, j'ai testé ce script
mais l'image n'arrive pas entière
et avec une partie brouillée !

A te lire
lelapinou_69 Messages postés 64 Date d'inscription mardi 27 janvier 2004 Statut Membre Dernière intervention 10 novembre 2008
5 sept. 2007 à 08:55
Pour faire un petit concentré de certaines erreurs que j'ai constaté, il se trouve que la plus part sont répertoriées ici. Mon email part, mais la fonction me renvoi faux,dans le cadre où j'ai plusieurs destinataires.
J'ai pu remarqué également que suivant le gestionnaire de mail, les mails sont pas interprétés de la même façon, par exemple Outlook Express interprète correctement le mail (titre, from, reply,headers) par contre avec le webmail de 1and1 par exemple (fournisseur d'hébergement et noms de domaines) j'ai pu constater que les mails arrivaient sans titre, ni expéditeur, et que le webmail de orange ne recevait pas du tout les email (ça c'est peut être autre chose, mais pas l'anti spam...).
Toujours est il que pour ne pas avoir en permanence un message d'erreur alors que le mail part bien, j'ai utilisé une variable captant les erreurs possible, et si aucune ne rempli ma variable je passe (je sais c'est pas propre... tapez pas trop fort)
gilles_geneve Messages postés 2 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 4 septembre 2007
4 sept. 2007 à 19:13
La fonction mail fonctionne très bien
mais avec simplemail j'ai le meme prob que come18 juste un message d'erreur "Failed to send"

Merci de ton aide...
lelapinou_69 Messages postés 64 Date d'inscription mardi 27 janvier 2004 Statut Membre Dernière intervention 10 novembre 2008
13 juin 2007 à 17:48
Tout à fait d'accord avec toi, après y avoir passé quelques heures, je me suis rendu compte qu'en fait c'était ma partie du mail en HTML qui posait soucis.
Mon problème est bel et bien réglé.
Merci à Totofweb pour ce script, que je trouve le plus simple et fonctionnel, et mes doigts savent que j'en ai testé.

@plouch
Zeo34 Messages postés 7 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 10 janvier 2009
13 juin 2007 à 17:43
Salut LeLapinou,
J'ai eu exactement le même problème :
- je ne stockais pas en dur le fichier PDF, la classe FPDF le permet $pdf->Output(monPdf.pdf"); (où $pdf est l'objet FPDF)
ce qui donne : $mail -> addattachement ( 'devis.pdf' ); pour l'expédition de l'email par la classe simplemail
- cela peut venir de l'encodage lors de l'envoie de l'email aussi
lelapinou_69 Messages postés 64 Date d'inscription mardi 27 janvier 2004 Statut Membre Dernière intervention 10 novembre 2008
12 juin 2007 à 17:09
Salut à tous.
J'essaie d'utiliser cette classe depuis peu, et je suis complètement dégouté, car j'avais tapé un code similaire pour l'envoie de pièces jointes, mais mon code fonctionne pas. ALors je me suis penché sur cette classe.
Par contre mon soucis est que je veux envoyer des fichiers pdf, ce qu'elle fait très bien, mais je ne parviens pas à ouvrir les fichiers, car cela me dit qu'ils sont soit corrompus, soit envoyés en pièce jointe et mal décodé.
Quelqu'un aurait une idée.
A savoir que ce sont des fichiers que je génère avec la classe FPDF, et qu'à la génération, si je les lance sur le navigateur cela s'ouvre sans problème.
Zeo34 Messages postés 7 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 10 janvier 2009
21 mai 2007 à 14:11
Bonjour,
J'utilise cette class dans le cadre d'une expédition de devis en temps réel. Or mon problème est que j'arrive pas à faire apparaître l'expéditeur, à la place j'ai comme expéditeur "CGI-MAILER" et non une adresse email, que faire ?
Utilisateur anonyme
19 juin 2006 à 18:30
Là c'est ton serveur qui plante, pas le script. Est-ce que l'envoi de mails par la fonction mail() fonctionne ? As-tu configuré ton php.ini et httpd.conf pour l'envoi des mails en local ?
come18 Messages postés 1 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 19 juin 2006
19 juin 2006 à 13:08
j'ai un probleme d'envoi,
je suis en local et j'ai une erreur non identifiée (il marque juste "erreur" lorsque j'ai pris ton exemple) et si j'enleve le @ devant la fonction d'envoi du mail (dans la classe) il me met,
Warning: Server Error in c:\program files\easyphp\www\simplemail\simplemail.php on line 245
erreur
est ce que ca marche en local? si oui quelle peut etre la cause de cette erreur?
merci
mehdibc Messages postés 4 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 2 novembre 2010
14 avril 2006 à 01:39
j'ai essayé ce scripte sur php5 (easyphp 1.8) et ça donné cette erreur:

Notice: Undefined variable: headers in c:\program files\easyphp1-8\www\mail\simplemail.php on line 106
erreur
okaneganai Messages postés 47 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 23 mai 2006
1 avril 2005 à 14:37
en fait l'erreur était bien:


Fatal error: Cannot instantiate non-existent class: simplemail

plutot que de faire un include, je copie directement le code de la classe dans la page, et là ça marche nickel!
C'est pas très pro, mais du moment que ça fonctionne :)

ent tout cas merci pour ce code qui m'a sauvé la vie :)
Utilisateur anonyme
1 avril 2005 à 14:23
Lis ce que PHP te donne comme message d'erreur : "Impossible d'initialiser une classe inéxistante nommée simple à la ligne 197".

Donc en fait quelque part tu as essayé d'appeler une classe nommée simple au lieu de simplemail. Apparemment ce n'est pas le cas dans ton bout de code, mais peut-être que tu n'as pas regardé au bon endroit. Le bout de code que tu as copié-collé contient-il la ligne 197 ??

Totofweb
okaneganai Messages postés 47 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 23 mai 2006
1 avril 2005 à 09:46
ça me marque une erreur:

Fatal error: Cannot instantiate non-existent class: simple in /home/sites/site43/web/administration/newsletter.php on line 197

mon code -->

include("simplemail.php");

$mail = new simplemail;
$mail -> addrecipient('moi@moi.fr,'Guillaume');
$mail -> addrecipient('moi@moi.fr','Guillaume2');
$mail -> addbcc('moi@moi.fr','Guillaume3');
$mail -> addfrom('contact@gps.asso.fr','GPS');
$mail -> addsubject($sujet);

// le message format html
$mail -> html =$contenu;

// une piece jointe.
//$mail -> addattachement ( 'KT400.gif' );
$nom_fichier=$_FILES['fichier']['name'];
$type=$_FILES['fichier']['type'];

$mail -> addattachement ( $nom_fichier );

if ( $mail -> sendmail() ) { echo "envoyé"; } else { echo "erreur"; echo $mail->error_log; }
Utilisateur anonyme
27 mai 2004 à 20:20
victorcoasne=>C'est à toi de gérer l'upload, ce n'est pas du tout le rôle de ce script (d'autres s'en chargent ...)
Back Down Messages postés 5 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 mai 2004
27 mai 2004 à 14:51
Donc résultat des essais, ca marche sur le serveur. ;)
Back Down Messages postés 5 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 mai 2004
27 mai 2004 à 14:19
En fait, j'ai filé mon code à un amie. Et chez lui ca marche bien. Le problème c'est que en local, quand je quand je joint le fichier, le script le lit bien. Mais quand il l'attache en piéce jointe, sans savoir pourquoi, il modifie les donnée du fichier joint. Et sale fait uniquemantsur mon poste de travail. Maintenant que je sais quemon script marche chez les autres, je vais essayer de le fair tourné à partir du serveur.

Merci pour vos réponse, c'es sympatique de votre part.
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 mai 2004 à 12:52
Et ça marche si le fichier à joindre n'est pas sur le serveur mais sur le disque dur ?

Si non le script ne peux-i-il pas l'uploader
Utilisateur anonyme
26 mai 2004 à 21:06
Va exposer ton problème sur http://classes.scriptsphp.org, car c'est là que cette classe a été créée.
Back Down Messages postés 5 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 mai 2004
26 mai 2004 à 16:51
excuse moi, j'entand par taille dimension.
Je sais pas la même chose.
désolé.
Back Down Messages postés 5 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 mai 2004
26 mai 2004 à 16:49
oui, l'image que je reçoit est bien l'image que j'envoit, car pour être plus précis, je recoit une image de la même taille que celle de départ, cependant une seule minuscule partie (de l'ordre de 5pixels*5pixels) est correcte. Le reste de l'iage est toutes noire.
Utilisateur anonyme
26 mai 2004 à 16:35
es-tu sûr que le script arrive bien à accéder à l'image (problèmes de chmod peut être ?)
Back Down Messages postés 5 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 mai 2004
26 mai 2004 à 16:22
Salut,

j'utilise la classe simpleMail est elle marche nickel pour ce qui est du message. Cependant j'ai un problème quand je joint une image.

// le message format html
$mail -> html = "<hr>";
// un attachement html ( image jointe afficher ds le html ).
$mail -> addhtmlattachement ( 'Photo1.jpg','doc1', 'image/jpeg' );

en fait, une fois le mail envoyé, je le reçoit mais mon image et < .01Mo et je n'arrive pas à l'envoyée totalemant. à l'origine l'image que je veut envoyer fait 4,83Ko. et je une image qui ressembke à rien et qui fait 138 Ko

C'est un échec.

Please Help
Utilisateur anonyme
18 mai 2004 à 14:39
Poste ta question sur le forum, tu y trouvera plus d'aide... Pour ma part, je ne vois pas trop d'où peut venir le problème...
cs_Joule Messages postés 7 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 18 mai 2004
18 mai 2004 à 11:40
lu
je n'utilise pas ta librairie ki m'a l'air somme toute fort simple a utilisé mais je construit mon header de la meme facon ke toi .... bref mon pb est lié au pièce jointes (le meme pb avec les pdf cité plus hauts) ...
je me demande si ce pb de "coruption" de fichier vient de l'en-tête (le content-type par exemple) ou de la config de mon serveur...
si quelqu'un peut m'aider j'en serais ravi :)
Utilisateur anonyme
9 avril 2004 à 14:17
Salut
Ca vient peut-être des paramètres de Outlook. Certains sont paramétrés pour ne lire qu'en mode text, et pas html. Dans ce cas, la source est affichée, avec la pièce jointe sous forme de LJHGCEEOIGNIEHGOEITUHTOIZ7UTH4IHTO

Totofweb
ganelous Messages postés 9 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 26 décembre 2007
9 avril 2004 à 10:35
merci ça marche comme tu m'as did :-)

mais j'ai un autre bug :-(

le mail s'affiche correctement sur certains webmail (free numericable) avec les pieces jointes lisibles et tout et tout, mais sur outlook et wanadoo le texte s'affiche bien mais il n'y a pas de pièce jointe... (et le texte s'affiche bien sur certains outlook ou alors le code s'affiche et il me semble que les pieces jointes sont dans le corps du texte en brut, du style /TYDNE6ED437HEDGDHEDK863JHE etc. sur d'autres outlook...)
comment ça se fait?

ils aiment pas mon boulot ou quoi les outlook??
les pdf sont des vrai fait avec pdf writer donc ça vient pas des pdf...

outlook n'aime pas les Content-Type: multipart/mixed ou quoi?

(tu dois me trouver pénible non?)

merci
Utilisateur anonyme
8 avril 2004 à 17:38
D'après ce que tu dis, tu as fait $mail -> addattachement ("nom1.pdf, nom2.pdf");

Il faut faire
$mail -> addattachement ("nom1.pdf");
$mail -> addattachement ("nom2.pdf");

Totofweb
ganelous Messages postés 9 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 26 décembre 2007
8 avril 2004 à 14:50
bon, j'ai essayé sur un vrai serveur et l'attachement des pdf fonctionne avec un seul pdf pas avec plusieurs
j'ai essayé a mettant comme piece jointe "nom1.pdf , nom2.pdf" mais ça marche pas, il considere que "nom1.pdf , nom2.pdfé est le nom d'un seul fichier...
comment dois-je faire pour qu'il considère ça comme 2 fichier distinct??

merci d'avance
Utilisateur anonyme
31 mars 2004 à 12:56
tu as essayé sur un vrai serveur ? ça vient sans doute de ta configuration (php, apache, smtp, ...)
ganelous Messages postés 9 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 26 décembre 2007
31 mars 2004 à 11:54
le pdf est visible sur le dd
j'ai essayé avec une image et elle est également corrompue
le pdf faisait 50ko et l'image 15ko (l'image reçu fait le meme poid mais n'ast pas visible)

ça vient pas des systèmes de codage des pieces jointes?
Utilisateur anonyme
31 mars 2004 à 11:38
normalement on pet mettre plusieurs pièces jointes.

pour ton pdf, déjà peux-tu l'ouvrir quand il est sur ton DD ? Quelle taille fait il (s'il est très gros, ça pourrait expliquer le problème) ? As-tu essayé avec d'autres fichiers ?
ganelous Messages postés 9 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 26 décembre 2007
31 mars 2004 à 09:56
Salut,
j'ai un problème avec ce script :
je veux envoyer un pdf, lorsque je reçoit le mail la pièce jointe est soit concidérée comme vide (avec wanadoo), soit le pdf s'ouvre mais est corrompu (avec free) et donc ne s'ouvre pas...
à part ça le contenu du mail est bon;

Sais tu pourquoi cela ne marche pas? (je teste le script en local avec un serveur smtp local)

sinon, est-il possible de mettre plusieurs pièces jointe avec ce script (j'ai pas pu tester puisqu'il ne marche pas).

Merci d'avance.
jayz01 Messages postés 2 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 20 février 2004
20 févr. 2004 à 12:01
Merci pour ta réponse rapide. J'utilise ce script pour l'envoi d'une mailing-list à un grand nombre de client dont une partie est en MAC, je ne peux pas l'envoyer au format text, puisque il y a des balises de couleur, de police, de lien web entres autres. Aucune n'est prise en compte en MAC, je vais essayer ta solution mais dans ce cas, les MAC n'auront qu'une version très réduite du mail (sans format et lien), ce qui est dommage. Sinon, peux-tu me diriger vers un site ou un forum qui pourrait m'aider, je n'en trouve pas, merci.
Jay.
Utilisateur anonyme
20 févr. 2004 à 09:51
je ne connais pas les macs, mais envoie ton mail au format texte si ça pose des problèmes, et je crois même qu'on peut spécifier le formet html et le formet texte, et que le logiciel de messagerie choisis, mais je suis pas sûr.
jayz01 Messages postés 2 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 20 février 2004
19 févr. 2004 à 21:50
Merci pour ce script très utile, le seul problème rencontré est lors d'un envoi de mail au format html, si le mail est reçu sur un MAC (OS9 ou OSX) le format html n'est pas reconnu. Quelqu'un peut-il m'aider car je ne trouve pas de solution ?
Utilisateur anonyme
18 févr. 2004 à 21:21
Salut
Essaye de tester des envois de mails en commentant tous les paramètres et en les décommentant un à un pour identifier le fautif

Totofweb
cs_boopette Messages postés 15 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 28 février 2004
16 févr. 2004 à 12:37
Ca m'affiche
"erreur" et je vois pas pourquoi, HELP !
cs_boopette Messages postés 15 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 28 février 2004
15 févr. 2004 à 18:01
SNIF je comprends pkoi jai cette erreur ca devrait marcher pourtant

Undefined variable: headers in simplemail.php on line 103
erreur
djfred68 Messages postés 1 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 22 juin 2003
22 juin 2003 à 22:15
mon script a marché, c'est le provideur qui a mis du temps à me remettre le mail....merci quand même.
Rejoignez-nous