mailto? comment mettre en page le mail - retours à la ligne

Eléphant du PHP | 254 Messages

01 mai 2006, 13:23

Bonjour à tous
J'essaye de mettre en forme un mail envoyé depuis un site qui contient des données dynamiques.
<a href="mailto:?Subject=Bonjour, blablablabla&body=Bonjour, [b]ligne1[/b]%0D%0D [b]ligne2[/b].%0D%0D[b]ligne3[/b]">mail</a>
Apparement il n'y a pas de retour à la ligne dans le mail que je veux envoyer ?
Des idées ?
Merci de votre aide !

Mammouth du PHP | 19672 Messages

01 mai 2006, 13:40

Ça dépend peut-être du client de couriel utilisé, je viens de faire le test et Thunderbird s'ouvre avec le sujet et trois lignes de texte... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

01 mai 2006, 13:41

le pseudo-protocole javascript maito: est très sommaire dans son utilisation.
Il convient pour la génération de mails très basiques.

Pour avoir accès à des prestations plus étendues (mise en forme, pièces jointes, etc.),
mieux vaut utiliser la fonction PHP mail().

:idea: Coup de bol : tu es sur PHPFrance, tu devrais trouver pas mal d'infos et d'aide... ;)

Eléphant du PHP | 254 Messages

01 mai 2006, 13:52

Ça dépend peut-être du client de couriel utilisé, je viens de faire le test et Thunderbird s'ouvre avec le sujet et trois lignes de texte... :-k
Bonjour Cyrano, je le teste avec Outlook pour l'instant...me disant qu'au moins 70% l'utilisent....
Je vais aller voir plus avant la doc de PHP
Merci !

Eléphant du PHP | 254 Messages

01 mai 2006, 13:55

le pseudo-protocole javascript maito: est très sommaire dans son utilisation.
Il convient pour la génération de mails très basiques.

Pour avoir accès à des prestations plus étendues (mise en forme, pièces jointes, etc.),
mieux vaut utiliser la fonction PHP mail().

:idea: Coup de bol : tu es sur PHPFrance, tu devrais trouver pas mal d'infos et d'aide... ;)
Oui j'utilise cette fonction par ailleurs, notamment dans un formulaire d'inscription ou de demande de mot de passe.
Là, il s'agit d'un mail de recommandation de type "Envoyer cette info à un ami". Donc çà permet de rentrer les coordonnées.
Ceci dit, je peux créer un formulaire en entrant le mail de l'ami, et envoyer mon mail par la fonction mail(). C'est ça ? je ne me trompe pas ?
Ceci dit, je préfèrerais que l'on ne quitte pas la page en cours....
Je vois ça et je vous dis !
Merci :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 mai 2006, 14:23

Hello :)

Pour outlook, tu dois normalement pouvoir utiliser des \n pour spécifier les retours à la ligne.. le problème de la fonction mailto c'est que son résultat dépend beaucoup du client mail.

Si l'utilisateur à un client lotus par exemple, on ne peut pas lui passer plus de 255 caractères...

Mammouth du PHP | 19672 Messages

01 mai 2006, 14:27

Ceci dit, je te signale qu'utiliser mailto, c'est ouvrir la porte à la capture de l'adresse par les spambots et c'est le meilleur moyen pour que le destinataire se fasse pourrir sa boite de courriel de spams en tous genre.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 254 Messages

01 mai 2006, 18:19

Attention, il ne s'agit pas d'un lien d'adresse email en mailto...pour cela, j'utilise la fonction JS suivante :

Code : Tout sélectionner

function SendMail(e1,e2,e3,e4,e5,e6,e7) { mailString = "mailto:" + e1 + "." + e2 + "@" + e3 + "-" + e4 + "-" + e5 + "-" + e6 + "." + e7; MailWindow = window.open(mailString); }
Mais d'un lien permettant d'envoyer la page en cours à un ami. Donc c'est le visiteur du site qui rentre le mail du correspondant.

Ryle :wink: me revoilou, j'étais en vacances....j'oublie tout ! :o Merci !

...je n'ai pas résolu, mais tant pis ! :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 mai 2006, 10:19

Mais quelle idée de prendre des vacances aussi ?! ;)

Remplace tes "%0D%0D" par des "%0D%0A" (ce qui correspond normalement à nouvelle ligne + retour à la ligne)
ca devrait mieux fonctionner :)

Eléphant du PHP | 254 Messages

02 mai 2006, 11:14

rhôooooooooo t'es trop fort !!!! :agenouille:
Merci merci merci, je viens de faire l'essai et mon mail est tout beau ! :oops: =D> \:D/
Heuuuu juste une question :
Les données dynamiques ressortent avec les balises <br/> car elles doivent être comme ça dans la base, existe-t-il qqchose pour ne pas les afficher dans le mail ? Une fonction particulière ?
Thank's :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 mai 2006, 11:33

Y a pas de quoi :)
Heuuuu juste une question :
Les données dynamiques ressortent avec les balises <br/> car elles doivent être comme ça dans la base, existe-t-il qqchose pour ne pas les afficher dans le mail ? Une fonction particulière ?
A mon avis, le mieux c'est de ne pas stocker les <br> en base et de garder les retours charriot si possible (ce qui permet déjà d'y voir plus clair quand tu lis les champs ou que tu as besoin de les modifier) et de les passer par le nl2br() quand tu as besoin de les afficher en html...

Je crois pas qu'il existe de fonction inverse, mais tu peux en réaliser une avec str_replace() en remplaçant les "<br />" (ou <br/>, voire les <br> selon la façon dont ils ont été renseignés en base) et en remettant des "\n" (ou %0D%0A selon ce qui marche le mieux) à la place :)

obordelow
Invité n'ayant pas de compte PHPfrance

12 mars 2007, 17:13

Bonjour, j'utilise LOTUS note sous sa version 5.0.10 et je n'arrive pas à faire un retour à la ligne.

J'ai éssayé les%OD%OD, les %OD%OA, les %OA seuls, d'injecter une variable PHP contenant du HTM, rien n'y fais....

Si quelqu'un peut m'aider çà serait cool... 8-)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 mars 2007, 17:46

Et avec un "\n" voire "\r\n" dans ta chaine, ca le fait pas non plus ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...