cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008
-
20 févr. 2008 à 10:35
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
24 févr. 2008 à 02:26
bonjour,
j'ai telecharger tout les codes VB6 sur ce site pour l'envoi d'un mail via smtp (plus que 40 code) mais aucun d'eux ne marche; enfin je pense que le probleme est de ma machine puisque dans les commentaire de ces codes il y a toujorus des gents qui disent que ces codes fonctionne trés bien;
je vous explique, je suis connécté a Internet via le proxy de ma entreprise ca peut etre ça ce qui merde mais le probleme c'est que je developpe une application dont je demande d'envoyer des string a une adresse mail par un simple clique sur un bouton envoyer. mes client seront eux aussi connecté via un proxy ... meme condition que moi alors si ca ne marche pas sur mon PC ca sera le cas pour eux.
svp il faut que je finisse cette tache, j'ai presque tout fait mais ce smtp ...
par la meme occasion : l@ mail du distibataire est statique, c'est preferable d'utiliser un smtp gratuit mais pour essayer qlq code j'ai crée des mails sur yahoo, hotmail, gmail ... (pour la configuration de la connexion au smtp)
j'ai besoin d'aide
merci d'avance
cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008 20 févr. 2008 à 12:28
pas de mail envoyé,
y a des application qui affichent "mail envoyé avec succés" mais de l'autre coté je ne reçois rien,
y a des application qui plante le PC !!!
y a des application qui ne peuvent pas se connecter au serveur smtp
en fait ce qui me semble bizarre c'est la confirmation dans les commentaire que c'est testé et que ca marche trés bien !!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 févr. 2008 à 12:51
Salut
En france, certains fournisseurs d'accès à internet bloquent les tentatives de connexion aux serveurs de mails sortants si on se trouve sur une connexion d'un autre fournisseur.
Par exemple, dans un hotel équipé chez Free, il n'est pas possible d'expédier des mails en se servant des serveurs SMTP de Orange, ceci afin de limiter les abus en matière de mass-mail.
En Tunisie, je ne sais pas comment ça se passe.
Tu tentes ces manips depuis chez toi ET vers le serveur SMTP associé à ton abonnement ?
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008 20 févr. 2008 à 13:43
non je tente ces manip du boulot "serveur proxy" et vers
mail.club-internet.fr
mail.noos.fr
mail.oreka.fr
mail.hotmail.com
smtp.yahoo.com
....
mais j'ai pas reussi
si un message d'erreur est affiché je pourai au moins savoir ou ca bloque, mais ca l'aire de marcher
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_hastalavista
Messages postés38Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention26 février 2008 20 févr. 2008 à 14:11
j'ai deja debogger, mais sur ma machine tout se passe bien, je pense que le probleme est au niveau du proxy ou au nuveau du serveur smtp.
moi ce que je voulais savoir c'est si qlq1 a developpé une application qui s'installe sur des machines client (différents Fournisseurs d'Acces Internet) et permetant d'envoyer un mail vers une @ statique.
si ca existe il faut que je fais un effort de plus (je recherche encore) mais si c'est pas fesable ... c'est pas la peine. il faut que je change vers php
cs_titicar
Messages postés181Date d'inscriptionjeudi 30 mai 2002StatutMembreDernière intervention19 août 2012 23 févr. 2008 à 15:53
Je suis peut-être hors sujet, mais ce problème me rappelle quelque chose.
A l'époque, j'utilisais des fonctions du genre 'message CDO' piquées sur ce site. Ca fonctionnait nikel sans pour autant devoir créer un serveur 'virtuel' smtp.
Puis un virus Nasser est venu. L'oncle Bill a réagit en créant un patch. Depuis là, tous mes codes en relation avec CDO ne fonctionnait plus. Et pourtant, aucun message d'erreur, Windows me signalait que le mail avait été envoyé alors que c'était faux.
En fait, ce type de code fonctionnait très bien auparavant (avant un patch de Bill).
Bref, si ton code utilise CDO et que tu ne veux pas créer un serveur virtuel smtp, oublie ton code et choisi une autre direction...
par exemple l'API ShelExecut avec 'mailto:' en paramètre... nettement moins performant mais ça fonctionne bien pour des cas simples.
En ce moment, je me casse aussi un peu la tête pour gérer l'envoi d'un mail digne de ce nom depuis mes prog VB.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 24 févr. 2008 à 02:26
Re
Peu importe le destinataire (à propos de l'adresse fixe)
De toute façon, légalement, tu n'as le droit d'expédier des mails que depuis le serveur SMTP attribué à ton fournisseur d'accès (FAI).
Les messageries genre MSN et consor ne sont pas des SMTP.
Il faudra donc questionner l'utilisateur du logiciel afin qu'il saisisse les paramètres SMTP de son FAI + mot de passe du compte.
Sortie de ces considérations légales, le protocole SMTP a ses règles de programmation et de paramétrage : Voir RFC 2821
Pour ma part, mes logiciels émettent des fichiers sans nécessiter de paramétrage avec cette astuce :
Sur mon site internet, j'ai créé une page PHP qui accepte deux paramètres : du texte (CorpsMessage) et un fichier texte (FichierLOG)
Sous PHP, suffit juste de mettre cette déclaration dans un fichier index.php à une adresse web (voir listing après ce roman)
puis d'utiliser les fonctions "mail" de PHP pour renvoyer le mail avec ces infos vers mon adresse de messagerie personnelle.
Mes programmes envoyent une requète POST complète avec le texte (CorpsMessage) puis le contenu du fichier (FichierLOG), séparé avec les Boundary et tout le tralala.
Il faut regarder dans le protocole HTTP comment paramétrer cette requète.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Contenu de la page index.php :
<hr />
<HTML>
<HEAD>
</HEAD>
<?php
// Paramètres à fournir à l'appel
$CorpsMessage = $_POST[CorpsMessage]; // Texte d'accompagnement
$FichierLOG = $_POST[FichierLOG]; // Contenu du LOG
// Envoi du mail ----------------------------------------------------------------------------------
$boundary = '-----=Mail=-----' . md5( uniqid ( rand() ) );
// Texte du message
$message = "--" . $boundary . "\n";
$message .= "Content-Type: text/plain; charset="iso-8859-1"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $CorpsMessage . "\n";
$message .= "--" . $boundary . "\n";
// Fichier joint = LOG --------------------------------------
$message .= "Content-Type: text/plain; name=Fichier.LOG\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-Disposition: attachment; filename=Fichier.LOG\n\n";
// When adding a file you must open it and read it with fopen and add the content to the message:
$content_encode = chunk_split(base64_encode($FichierLOG));
$message .= $content_encode . "\n";
$message .= "--" . $boundary . "\n";
// echo $message . "\n";
// Add the needed headers and send!
$headers = "From: "TotoLaRiflette"<
[mailto:adresse@monsite.fr>\n
adresse@monsite.fr>\n
]
";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed; boundary="$boundary"";
// Adresse, Objet, Corps, Entêtes
if (!mail(
[mailto:'destinataire@monsite.fr'
'destinataire@monsite.fr'
]
, 'Rapport d_erreur', $message, $headers))
//if (!mail($to,$subject,$mail,'To: '.$to.chr(13).chr(10).'From:
[mailto:webmaster@monsite.fr'.chr(13).chr(10
webmaster@monsite.fr'.chr(13).chr(10
]
)))
{
echoError('Un problème est survenu lors de l\'envoi du mail',1);
exit();
}
else
{
echo "Ok. Mail expédié\n"; // ne pas modifier = texte de la réponse à l'expéditeur des données
echo '';
}
// Finally, if you add an image and want it displayed in your email, change the Content-Type from attachment to inline:
// $message .= "Content-Disposition: inline; filename="$theFile"\n\n";
?>
La réponse du serveur doit être : "Ok. Mail expédié"
(chaine écrite dans le script PHP)
"Boundary" est n'importe quelle chaine d'une 15n de caractères : sert de séparateur
Il faut simplement s'assurer que cette chaine ne se retrouvera pas dans un texte classique
Perso, je me suis créé une petite routine :
Private Function CreateBoundary() As String
Dim r As Integer
Dim Temp As String
' Demande une réinit du moteur de hasard
Randomize GetTickCount
' Génère 20 caractères hexadécimaux
For r = 1 To 20
Temp = Temp & Format(Hex$(Rnd * 15), "&&")
Next r
Temp = LCase(Temp)
CreateBoundary = "----Jack_" & Temp
End Function
"sKeepAlive" dépend de l'utilisation d'un proxy. Voir RFC
"sInternetCompatibility " dépend du navigateur que tu utilises.