didier.ciurana@numericable.fr
24/12/2003 |
Problème du point d'exclamation en 1024e position. Tout simplement, il est nécessaire de faire fréquement des retours à la ligne avec "n" lorsqu'on concatène un message avant son envoi. 1024 correspond à la limite d'un fichier text/html(?) |
Anonyme
16/08/2003 |
J'ai eu de la peine, mais j'y suis arrivé !
J'ai réussi à envoyer des mail en format text et html !
mon problème venais d'un petit détail !
il faut mettre par exemple ceci dans les entetes :
Content-Type: multipart/alternative;
boundary="==_un_truc_unique_=="
Ne pas oublier des espace devant le boundary=.. !
Ensuite, il faut séparer le message en rajoutant 2 tiret (--) au début de la chaine boundary !
et finir le message en ajoutant 2 tirets (--) à la fin de la chaine boundary !
Voice un exemple de message multipart :
This is a multi-part message in MIME format.
--==_un_truc_unique_==
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Coucou
--==_un_truc_unique_==
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
.... message en html ...
</html>
--==_un_truc_unique_==--
|
support@webalaise.be
28/07/2003 |
Il y a une alternative pour free. Cela s'appelle prontomail. C'est un script qui ouvre un socket sur le port 25 et qui utilise l'imp de free. L'explication et la souce se trouve sur http://samuel.kabak.free.fr/
Cela marche assez bien. Il va de soit que ce script n'est PAS destiné au SPAM. Free s'en rendrait compte et bloquerait la fonction d'ouverture des socket en PHP.
Voilà, à bon entendeur. |
yann.lequinio@point-com.fr
07/04/2003 |
Bj
J'envoie des mails en html sa marche impec sauf sous outlook ou j ai un "!" régulièrement tous les 1024 caractères c pourquoi donc ? |
Anonyme
07/03/2003 |
Bon je vais compliquer la sauce.
Pour ma part je cherchait à envoyer une demande de Rendez-Vous à un destinataire dont je ne sais comment il les gères. bref pas plus d'info sur son calendar.
l'envoie se fait donc en VCALENDAR.
de plus je sais que certain de mes destinataire ont un mailer qui sais prendre les VCALENDAR dans les alternative Part bref il me faut donc envoyer un message avec à la fois une pièce jointe pour ceux qui ne reconnaissent pas les VCAL en alternative et en alternative pour les autres.
Je me suis fait un template.
que je remplis à la volée avant l'envoie du mail.
l'entête du mail va être :
$this->Head = "Content-Type: multipart/Mixed;n boundary="----_=_NextPart_".$this->Part.""ncontent-class: urn:content-classes:calendarmessage";
pour le contenu voici la structure.
<Text> sera remplacé par le texte brut du message
<Html> par la version formatée
<Content> Par le VCALENDAR
et <Next_Part> par le numéro de section : $this->Part
/***********************************/
This is a multi-part message in MIME format.
------_=_NextPart_<Next_Part>
Content-Type: multipart/alternative;
boundary="----_=_NextPart_<Next_Part>"
------_=_NextPart_<Next_Part>
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: 8bit
<Text>
------_=_NextPart_<Next_Part>
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: 8bit
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 3.2//EN'>
<HTML>
<HEAD>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=utf-8'>
<TITLE>[JI] TEST</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<pre>
<Html>
</pre>
<br>
<br>
<meeting.ics>
</BODY>
</HTML>
------_=_NextPart_<Next_Part>
content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
name="meeting.ics";
charset="utf-8"
Content-Transfer-Encoding: 8bit
<Content>
------_=_NextPart_<Next_Part>--
------_=_NextPart_<Next_Part>
Content-ID: <000a01c2e48e$ada80cb7$_CDOEX>
Content-Description: meeting.ics
Content-Disposition: attachment;
filename="meeting.ics"
Content-Type: application/v-calendar;
name="Votre réservation";
charset="utf-8"
Content-Transfer-Encoding: 8bit
<Content>
------_=_NextPart_<Next_Part>--
/******************************************/
Notez bien que le message contient à la fois une pièce jointe et des partie alternatives.
A+JYT |
premm@club-internet.fr
05/12/2002 |
La fonction mail étendue telle que décrite dans nexen fonctionne, et même bien...
sauf avec EasyPhp, en local, vous provoquerez une erreur si les champs Cc: et Bcc: sont indiqués. Mieux vaut les oublier dans cette configuration.
Je rappelle aussi que lors de l'install de EasyPhp, le serveur d'email n'est pas précisé, il faut l'ajouter dans php.ini (voir info plus haut).
|
kiana@alinto.com
28/04/2002 |
Bonjour @ tous
Pour ous aider y a aussi le site : http://www.phpfrance.com, dans tutorial cherchez mail et vous allez vite comprendre comment faire, C ce que G fais y a quelques mois.
je pense que l'adresse exacte est :
http://www.phpfrance.com/tutorial/id=17 si je ne me trompe pas! je ne me souviens plus très bien, ça fait un moment.
j'espère vous avoir aidé...
Kiana |
hiegel_h@epita.fr
10/03/2002 |
concernant les mails html/plain, il faut savoir que le format par defaut , c'est plain text.
c'est anormal tu recoives une erreur lorsque tu enleves les headers html...
la solution la plus simple consiste a dire que tu envoies les mails en plain text, non ?
sinon, est ce que tu peux recuperer l'erreur au sein mm de la page php ? si oui, tu peux tenter un deuxieme post par mail en plain au lieu de html, et si ca reechoue, envoie-toi un mail avec tous les mesg d'erreur...
tu vois ce que je veux dire ?
(je suis conscient que ca risque de ne pas beaucoup t'aider..)
bon courage. |
guybrush@lexpage.net
14/02/2002 |
Si vous souhaitez envoyer un mail en HTML, voici une fonction "home-made" :
function mail_html($from, $email, $sujet, $corps){
$entete = "MIME-Version: 1.0rn";
$entete .= "Content-type: text/html; charset=iso-8859-1rn";
$entete .= "From: $fromrn";
$result=mail($email, $sujet, $corps, $entete);
return $result;
}
on l'appelle donc comme ceci
mail_html("Guybrush <guybrush@lexpage.net>", "destinataire@mail.com", "Test", "<html><head></head><body><b><i><u>Bonjour</u></i></b></body></html>");
voila :-)
http://www.lexpage.net |
gotubeb@free.fr
07/12/2001 |
Pour remplacer les "retour chariot" par des <br> voici une solution beaucoup plus simple :
$message=str_replace(chr(13).chr(10),"<br>",$message);
chr(13).chr(10) représente rn c'est a dire le retour chariot. |
math_coz@yahoo.fr
27/11/2001 |
Rapport aux mails que j'ai reçu, voici mon source :
alors voila,
soit un formulaire qui m'envoit les parametres : message, from_email, destinataire (je prends l'exemple concret que j'utilise pour éviter d'avoir à retoucher le code pour l'exemple)
attention de bien remettre les lignes en entier (chaque ligne se termine par un ; ) si le mail les a découpé.
$corpsmail = "C'est un message de format MIME en plusieurs parties.nn";
$corpsmail .= "------=_identifiantquelconquenn";
$corpsmail .= "Content-Type: text/plain; n charset="iso-8859-1" n Content-Transfer-Encoding: 8bitnn";
// on remplace les protections de quotes par rien :
$corpsmail .= str_replace("\","",$message) ;
$corpsmail .= "nnnnnn==================================================";
$corpsmail .= "nnsignature automatique (footer)";
$corpsmail .= "nn------=_identifiantquelconquen";
$corpsmail .= "Content-Type: text/html; n charset="iso-8859-1" n Content-Transfer-Encoding: quoted-printablennn";
$corpsmail .= "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">n<html>";
$corpsmail .= "<head><title>Trombinoo messenger !</title>";
// evidemment je doute de l'utilité de title, mais bon, tant qu'à faire...
$corpsmail .= "<style>";
$corpsmail .= "a:link { color: #000000; text-decoration: none}";
$corpsmail .= "a:visited { color: #000000; text-decoration: none}";
$corpsmail .= "a:hover { color: #000000; text-decoration: underline}";
$corpsmail .= "a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #000000}";
$corpsmail .= "</style>";
$corpsmail .= "</head>";
$corpsmail .= "<body><font face="Verdana, Arial, sans serif" size="2">";
// bout de code pour récupérer les retours chariot... j'ai fait ça vite fait
// et il y a certainement plus joli ;-)
// en tout cas avec moins de 3 variables ça marche pas chez moi...
$corpsmailtrans = urlencode($message) ;
$corpsmailtrans2 = str_replace("%0D%0A","<br>",$corpsmailtrans);
$corpsmailtrans3 = str_replace("%5C%22",""",$corpsmailtrans2);
$corpsmail .= urldecode($corpsmailtrans3) ;
$corpsmail .= "<br><br>voila, on peut meme ajouter son propre footer en html !";
$corpsmail .= " </body></html>";
$corpsmail .= "nn------=_identifiantquelconque--n";
$entetedate = date("D, j M Y H:i:s +0200"); // avec offset horaire
$entetemail = "To: $destinataire n"; // Adresse expéditeur
$entetemail .= "From: $from_email n"; // Adresse expéditeur
$entetemail .= "Reply-To: $from_email n"; // Adresse de retour
$entetemail .= "Date: $entetedaten";
$entetemail .= "MIME-Version: 1.0 nContent-Type: multipart/alternative; n boundary="----=_identifiantquelconque"n";
// attention, bien mettre des espaces avant le boundary sinon ça deconne !
$entetemail .= "X-Mailer: le Trombino de Mathieu - PHP/" . phpversion() . "n" ;
$sujet = "message reçu depuis le trombinoscope !" ;
echo "Message pour $individumail de la part de $from_email envoyé<p>nn";
mail( $destinataire, $sujet, $corpsmail, $entetemail );
voila, c'est ma méthode, qui demande certainement à être améliorée, mais au moins ça marche ! ;-))
Mathieu
|
weber@netcourrier.com
01/08/2001 |
La fonction mail renvoie faux si elle n'a pas pu envoyer le mail. La fonction ne teste pas (à ma connaisssance)si l'email du destinataire est valide. C'est à toi de la tester(Au moins voir si l'email ressemble a quelque chose).
Amicalement,
weber. |
marie_renoir@yahoo.fr
22/06/2001 |
Salut!
Pour ceux que ça intéresse voici un site avec un tutorial pour les mails avec fichiers attachés :
http://www.phpfrance.com/tutorials/index.php |
Anonyme
20/05/2001 |
Apparament, certains programme d'envoi de mail sous Windows demandent l'utilisation de rn pour séparer les lignes d'entêtes, et non pas seulement n, comme sous Unix.
C'est comme ca que phorum a pu fonctionner sur mon site Windows. |