begin process at 2012 05 31 15:48:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Réseau & Internet

 > 

Sockets

 > 

Socket mail avec fichier joint


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales