Accueil > Forum > > > > Socket mail avec fichier joint
Socket mail avec fichier joint
vendredi 8 septembre 2006 à 16:57:28 |
Socket mail avec fichier joint

_benjy
|
Salut à toi qui lit
bon j'ai un p'tit prob et p'etre que quelqu'un pourra me dire ma bétise, moi ca fait 3 jours et j'arrive pas a trouvé le truc :( donc voilà, l'idée c que je souhaite envoyé un mail via socket, en html & avec un fichier joint. mon prob c que des que je modif ma sources avec des frontieres (boundary) et différent content type pour les diff partie, ben j'ai un sale vilain truc qui arrive dans outlook. bien voilà mon code qui envois :
<? $servermail = "mail.kolapsis.net"; $nl = "<br>";
$html = "<html><body>Bonjour #prenom#<br>Comment allez vous ?</body></html>"; $html = str_replace("#prenom#","Benjy",$html);
$from = "Mailler <mailler@kolapsis.net>"; $to = "Benjamin <benjamin@kolapsis.net>"; $subject = "Test";
$headers = "MIME-Version: 1.0\r\n". "To: $to\r\n". "From: $from\r\n". "Date: ".date("r")."\r\n". "Subject: ".$subject."\r\n";
$boundary = "------------".md5(uniqid(rand()));
$message = "Content-Type: multipart/mixed;\r\n". "boundary=\"".$boundary."\"\r\n\r\n". "This is a multi-part message in MIME format\r\n\r\n". "--".$boundary."001\r\n\r\n". "Content-Type: text/html; charset=ISO-8859-1;\r\n". "Content-Transfer-Encoding: 7bit\r\n". $html."\r\n\r\n". "--".$boundary."001\r\n\r\n";
$fp = @fsockopen($servermail, 25, &$errno, &$errstr, 30) or die ("Connexion a '$server' impossible."); if(!$fp) { echo "$errstr ($errno)"; exit(); } fputs($fp,"HELO Mailler\r\n"); $res = fgets($fp,256); if(substr($res,0,3) != "220") { echo "Transaction impossible.".$nl; return; } echo "<b>Connecté au serveur mail '$servermail'</b>".$nl.$nl;
fputs($fp, "MAIL FROM: $from\r\n"); $res = fgets($fp,256); if(substr($res,0,3) != "250") { echo "Erreur à la commande MAIL FROM : $res".$nl; break; } fputs($fp, "RCPT TO: $to\r\n"); $res = fgets($fp,256); if(substr($res,0,3) != "250") { echo "Erreur à la commande RCPT TO : $res".$nl; break; } echo htmlentities($to)." : "; fputs($fp, "DATA\r\n"); $res=fgets($fp,256); if(substr($res,0,3) != "250") { echo "Erreur à la commande DATA : $res".$nl; break; } fputs($fp, $headers."\r\n\r\n".$message."\r\n.\r\n"); $res=fgets($fp,256); if(substr($res,0,3) != "354") { echo "Erreur message Body : $res".$nl; break; } echo "<b>message envoyé</b>".$nl;
fputs($fp, "QUIT"); $res=fgets($fp,256); if(substr($res,0,3) != "250") { echo "Impossible de fermer la connexion : $res".$nl; return; } echo $nl."<b>Transfert terminé</b>".$nl; fclose($fp); ?>
et voilà ce que je recois (au lieu du joli mail en html) : Content-Type: multipart/mixed; boundary="------------376897c93a6dbc966ab02c9642af9640" This is a multi-part message in MIME format --------------376897c93a6dbc966ab02c9642af9640001 Content-Type: text/html; charset=ISO-8859-1; Content-Transfer-Encoding: 7bit <html><body>Bonjour Benjy<br>Comment allez vous ?</body></html> --------------376897c93a6dbc966ab02c9642af9640001 Voilà, si jamais quelqu'un trouve ou est mon binz, ben j'lui en serait bien reconnaissant :) Merci d'avance
Flash sans Limites _Benjy chez kOlapsis
|
|
samedi 9 septembre 2006 à 09:04:49 |
Re : Socket mail avec fichier joint

malalam
|
Hello,
c'est quoi ton client mail...? Enfin bon, essaye ça : - mets des \n au lieu de \r\n - si ça ne passe tjrs pas, change le transfer-encoding (8bit, base64...?)
|
|
samedi 9 septembre 2006 à 12:22:35 |
Re : Socket mail avec fichier joint

_benjy
|
Salut
MOn client mail c'est outlook2007, mais le prob vennait pas de lui. car j'ai trouvé le prob et c'était pas non plus les \r\n (\r\n == \n la seul diff c le retour chariot avant et ca pose pas de prob) Nan en fait c'eest que j'avait des saut de ligne entre le boundary et le contenu, et il faut pas
si ca en interresse, j'ai trouvé le format mine axact qui fonctionne (pour tt client mail) :
From: Mailler <mailler@domain.net> MIME-Version: 1.0 Subject: Test Content-Type: multipart/mixed; boundary="482f44131fe1db5e19400ff18e842cbd"
--482f44131fe1db5e19400ff18e842cbd Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit
<html><body>Bonjour ben<br>Comment allez vous ?</body></html>
--482f44131fe1db5e19400ff18e842cbd Content-Type: application/file; name="logo.gif" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="logo.gif"
R0lGODlhdQAjANUgAMzU4pipxbK/0z5dkebq8fP1+Nnf6X+Ttktomb/J26W0zFhzoLzUXHKIr9Lj k+PtvIuevfr88rDNQenxye70193qrqvKNMfbeM3fhfT45bbRT8HYatjmoWV9p6XGJjFSiv///wAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACAALAAAAAB1ACMAAAb/QJBw SCwaj8ikcslsJjufT8BJrVqvWCdUmu16v+DhdsokBM6EsLjTEajfSgMAkGYCoh8AHE+G+7t3UXpE dVl8f18ECmcJBUsFCg0dAQlEgXlEAh9uQhlWh0yQC3iOWGYKBkgQeFEDEKUCZ4MCA6wfCJUgl4Mg Cq2pFBYOVaBKCbWsgHgInEMHtngLQmMgCdCtjrtCz3gQERIeHhVKDgxDxarXyqwdpQbLZw0fA6kg 1AitAgAKCPRC2tyiTMEQzoOECBcYPCCCMNw4EOiM+GLVIECzK5eiOQpAagiBQmMI4LlY6FKCgJtA RCjogcKGgp6EPCgoQUhEQuwKfUkgD08H/xAc5z0RqO3IJXwjhVQoOAxcuAlEGBSkAFFgkoAHlMSy WEXTSK+YjlDD0wBJxl9DLsAEQdCDhiIzw3GoyuVIgWWlkGz52TWaSDwKxFoNuKCeJWiGQUg1OGTC hAggHjiAujLcsJtCrEUJrGTvlS0fCID90CGxPasEkAnMq8tW1qjhzBVZ+hQEU7p9igT9YNqIZytg K9Fi9UqMVRAFQN/K1ZqVNNjhHmjwsAHqS8sUbmMGiofJbxByAPQucokMAZQDclEbkgBplAbZoF10 wLKgBQocCk6gHx03kt3jEYEUX6eRtkR5loyS1HpEBKDaAgWcFUUz2dUXzgUgcODAAxFYUP8QZNtp llISfxk4TRQILCEic0MooBoB4enkUU9SXDJRFMwtVp9sKk13oU3HGVFiilf5ZJwgSgQ0HgEK5pZE UAPsApY/IExgoQcYKOWUBxbEtB0INL5mxGgEgvacUcskoRmBSyCjzZT18MeSBgx4yNJCQJqIJlms 9WJLmayISYQBql1EXhRsKuEmHrPgMcAQbV1Z0ENCqHbAHJjOkcZu8xxwBgTuweOGcst5xOmZR/Tk JBJeIVAUCM9QKdOWO1JFBErXkIHrNX8WCM0Coc4zHhvu8SJWB+5B8CoIEIz3QEIWSMAABrYWkRqv QbqI7QEKIlqgarwiMN477Cyh3AAFRDhrR59gQCIJG/CyQVIAoQ5wKQhbnTEqogCQ2g27/wQKMBGB yojIFeoaXMRvBgTw7gECDDwEpgobBYDEB//xXcYcd6yXtx6HLHKBiY5ssh8bn6yyGimv7HIXLb8s cxUxz2yzuSDfrDMTWxlqchAAOw== --482f44131fe1db5e19400ff18e842cbd--
Merci quand mm
++
Flash sans Limites _Benjy chez kOlapsis
|
|
samedi 9 septembre 2006 à 14:07:21 |
Re : Socket mail avec fichier joint

malalam
|
heu si, \n ou \r\n, ça a son importance selon les cas, justement. Par contre je n'ai pas compris ce que tu avais changé, là.
|
|
lundi 2 octobre 2006 à 02:00:04 |
Re : Socket mail avec fichier joint

Darylounet
|
le codage du fichier joint en base64.. ça fonctionne toujours :)
|
|
lundi 2 octobre 2006 à 07:06:00 |
Re : Socket mail avec fichier joint

_benjy
|
ouaip ca fonctionne tjs ....
|
|
Cette discussion est classée dans : mail, echo, res, nl, fp
Répondre à ce message
Sujets en rapport avec ce message
problème de récupération de donnée via un <select> [ par creaDB ]
Bonjour tout le monde je poste le code en 1er lieu : Séléctionnez le patient à contacter : <br
Comparaison de deux tables dans un même base donné mysql [ par Rafefe ]
Bonjour à tous, Je suis un débutant en php/mysql et je veux faire un comparaison de deux tables qui a la même structure dans une base de donné. Je ve
rendre des champs obligatoires dans un formulaire [ par Emases ]
Bonjour à tousJ'ai cherché pendant des heures sur le net y compris sur ce site une réponse claire (en tout cas pour moi qui suis un débutant) à un pb
newsletters avec input radio [ par Sventy ]
Bonjour a tous,Voila, je débute en php et mySQL. Et je suisen train de faire une news letters lié a une BDD.Le formulaire a 2 bouton radio, l'un pour
case à cocher [ par aphrodite64 ]
<font face="Ca
checkbox, text et envoi de mail [ par YuL13 ]
<link rel="Fi
Actualisé un affichage [ par Dan17470 ]
Bonsoir,A partir du code ci-dessous (récupéré sur ce site) :$fp = fopen("compteur.txt","r+"); $nbvisites = fgets($fp,255); $nbvisites++; fseek($fp,0);
expréssion réguliere [ par rose2009 ]
dans le cadre de ma société je cherche une solution d'un problème d'expression régulière :voila mon code qui ne marche pas $a=highlight_file("http://w
commentaires [ par nikeparker209 ]
//il reste encore un bug que je ne comprend pas c'est que rien ne s'écrit dans le fichier //si quelqu'un trouve qu'il me fasse signe if(!isset($_POST
Envois E-Mail php [ par GoGaule ]
Bonsoir. [code=php] <?php $msg = "Nom:\t$nom\n"; $msg .= "Prenom:\t$prenom\n"; $msg .= "Adresse:\t$adresse\n"; $msg .= "Ad
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Forum
SELECTSELECT par hab2oo
Cliquez pour lire la suite par hab2oo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|