ENVOYER UN MAIL SANS UTILISER JAVAMAIL

tarzent Messages postés 30 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 15 mai 2009 - 31 oct. 2005 à 14:39
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 - 23 juin 2011 à 16:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34186-envoyer-un-mail-sans-utiliser-javamail

begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
23 juin 2011 à 16:12
sans javamail ? est-ce que javamail est une méchante API ?
luque19 Messages postés 11 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 16 juin 2010
21 mai 2010 à 17:21
bonsoir

svp est ce qu'on aura pas besoin d'un jar pour l'envoi de mail ??

merci d'avance
liquideshark Messages postés 32 Date d'inscription mercredi 2 août 2006 Statut Membre Dernière intervention 29 mai 2007
8 mai 2010 à 22:41
Super cool ton post merci infiniment;

une question le send("Reply-To:" + from); il fait quoi ?

Merci ;)
rimh Messages postés 34 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 16 juin 2010
19 avril 2010 à 12:33
Bonjour, SVP quelqu'un peut m'aider de trouver un code en java qui permet la consultation de boite mail. c urgent SVP
grabatad Messages postés 16 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 2 mai 2012
12 déc. 2009 à 06:33
Bonjour sheorogath,
Et si j'ai besoin de m'authentifier au niveau de mon serveur, je fais quoi?
cs_minoucha05 Messages postés 5 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 30 septembre 2009
30 sept. 2009 à 13:50
Bonjour à tous,

J'Aimerais savoir comment envoyer un email avec des fichiers jointes automatiquement à plusieurs destinaires à une date précise de chaque mois en langage java.

Merci c'est urgent
cs_michel59000 Messages postés 1 Date d'inscription samedi 14 février 2009 Statut Membre Dernière intervention 14 février 2009
14 févr. 2009 à 01:00
bonjour a tous
je voudrais savoir s'il est possible d'envoyer le message en html?
car j'ai besoin d'envoyer un beau mail! et je n'ai pas trop envi d'utiliser javamail
merci
tanabenezied Messages postés 11 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008
24 nov. 2008 à 01:16
informatique_sousou
tanabenezied Messages postés 11 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 24 novembre 2008
24 nov. 2008 à 01:16
OK
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2008 à 22:07
lieu inapproprié: forum!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
29 juil. 2008 à 17:24
salut ,
je veux savoir comment recevoir des masseges (mails ) en java ( javamail) c'est à dire detecter les messages reçus dans une boite et lire le différentes paramétres du message (expéditeur ,destinataire ,objet ,contenu).


merci au préalable pour toutes vos réponses .

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
28 juil. 2008 à 17:52
Main-Class: ConnexionBD
et essaye sans le Class-path si le pb persiste puis sans le Created-by!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
28 juil. 2008 à 17:49
salut ,

j'ai copié ma classe ConnexionBD dans un répertoire appli

dans le même répertoir j'ai crée mon fichier MANIFEST.MF

puis j'ai lancer la commande


C:\work\appli>jar cvfm monappli.jar MANIFEST.MF .


j'ai obtenu :

manifest ajoutÚ
ajout : ConnexionBD.class (entrÚe 1430) (sortie 1187) (16% compressÚs)
ajout : MANIFEST.MF (entrÚe 159) (sortie 139) (12% compressÚs)

mais le probléme persiste .

le contenu du fichier MANIFEST.MF est:

Manifest-Version: 1.0
Created-By: 1.4.1_01 (Sun Microsystems Inc.)
Main-Class: ConnexionBD.class
Class-Path: C:\mysql-connector-java-3.0.17-ga-bin.jar

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
28 juil. 2008 à 17:23
Nämlich!
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
28 juil. 2008 à 17:22
la prochaine fois pose ta question sur le forum et non pas sur une source qui n'a aucun rapport avec ce que tu demande
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
28 juil. 2008 à 17:19
Excellent tuto:
http://java.developpez.com/faq/java/?page=execution
------------
Tout d'abord, il convient de créer un fichier Manifest.
Ce fichier contiendra le nom de la classe à exécuter ainsi que les archives à mettre dans le CLASSPATH.

Manifest-Version: 1.0
Created-By: 1.4.1_01 (Sun Microsystems Inc.)
Main-Class: Start
Class-Path: .\archive1.jar .\archive2.jar

Attention : il est nécessaire de terminer le fichier manifest par un saut de ligne.

Nous appellerons le fichier MANIFEST.MF et il sera placé dans un répertoire META-INF en racine de l'application (par exemple).
Les archives jar du classpath ne seront pas inclues dans ce jar mais seront situées par la suite dans le même répertoire que nous allons créer (ou dans un path bien défini).
Si l'on veut qu'elles soient rangées dans un répertoire il suffira de donner le path:

Class-Path: path1\archive1.jar path2\archive2.jar

Pour créer le jar il faut déjà supprimer tous les .java
L'idéal étant de copier tous les .class (avec leur arborescence s'ils sont packagés) dans un répertoire temporaire pour créer le jar dans ce répertoire. On peut aussi copier les fichiers qui seront accessibles dans le jar (images) s'il y en a.

La commande permettant de créer un fichier .jar est la suivante :

jar cvfm fichier-jar fichier-manifeste fichiers...

Voilà la signification des différents paramètres :

* fichier-jar : est le nom du jar à créer
* fichier-manifeste : fichier MANIFEST.MF
* fichiers : fichiers à ajouter à l'archive. Si un des fichiers est un répertoire, celui-ci est traité récursivement.

Dans le répertoire des .class, on exécutera donc la commande suivante :

jar cvfm monappli.jar META-INF/MANIFEST.MF .

Cela va nous créer un .jar éxécutable nommé monappli.jar avec le fichier MANIFEST.MF présent dans le répertoire META/INF. Ce jar se voit ajouter les fichiers du répertoire courant (spécifié par le caractère '.').

Le programme jar reconstruira le fichier Manifest et affichera sur la sortie standard les résultats (ça permet de vérifier qu'il est codé correctement).
On exécute ensuite le jar de la façon suivante :

java -jar monappli.jar

Les archives indiquées dans le Class-Path du Manifest seront recherchées selon leurs chemin relatif par rapport au fichier Jar principal.
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
28 juil. 2008 à 17:17
salut ,

j'obtiens seulement le fichier connbd.jar

il n'y a pas de fichier manifest

est ce qu'il y a une commande pour le créer ?

merci d'expliquer davantage

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
28 juil. 2008 à 16:33
Le fichier Manifest est-il correctement crée?
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
28 juil. 2008 à 16:31
salut ,

je travaille en java ,je génére un fihier .jar dont la fonction et de faire une requte mysql et afficher le resultat ,

probleme rencontré :


au lancement du fichier.jar avec la commande java -jar fichier.jar

j'obtiens l'erreur suivante:
Failed to load Main-Class manifest attribute from
fichier.jar


cordialement
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
10 juil. 2008 à 13:39
oui mais le smtp est sur le lan ou pas ?
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
10 juil. 2008 à 11:11
C'est étonnant...
Et une recherche dans Google?
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
10 juil. 2008 à 10:32
salut,

j'ai fait des test en LAN avec des adresses internes (sous lotus notes) mais le probleme c'est que le message ne passe pas et me donne la méme erreur que ja'i déjà signalé?


cordialement.
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
10 juil. 2008 à 09:56
ouch, alors faire des tests en LAN...
Quel type de serveur? MS Windows ? Linux? Unix?

Je parle dans gMail, il faut activer une case dans "paramètre", "Transfert et POP/IMAP" et "Activer le protocole POP pour tous les messages"!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
10 juil. 2008 à 09:51
bonjour,

merci pour toutes les réponses ,

s'il est possible veuillez précisez de quelle case vous parlez GillesWebmaster ?

sachant que je travaille sur un réseau local d'une entreprise et j'ai fait le test avec des adresses internes et je trouve le meme problème.

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
9 juil. 2008 à 18:07
HA JE COMPRENDS; il faut ACTIVER l'option!
Je m'en rappelle: c'est comme pour le POP3; il faut cocher une case
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
9 juil. 2008 à 18:04
ou alors gmail n'authorise pas les connections externes
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
9 juil. 2008 à 17:53
Il semblerait que votre correspondant vous ai mis sur sa liste d'indésirables et du coup le serveur rejète les mails que vous lui adressé.
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
9 juil. 2008 à 17:00
salut,


oui bien sur j'ai lu tous les commentaires mais ile ne traitent pas l'exception que j'ai obtenu à savoir:

Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 Mail from expediteur@gmail.com rejected for policy reasons.


sachant que je peut se connecter au serveur de messagerie, voilà ce que j'obtient lorsque je debuge mon programme


DEBUG: setDebug: JavaMail version 1.4.1
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "10.128.1.160", port 25, isSSL false
220 SRV01010304.meditel.int ESMTP Service (Lotus Domino Release 7.0.2FP2) ready at Wed, 9 Jul 2008 15:53:54 +0100
DEBUG SMTP: connected to host "10.128.1.160", port: 25

EHLO ST-SM-1719
250-SRV01010304.meditel.int Hello ST-SM-1719 ([10.128.54.241]), pleased to meet you
250-HELP
250-SIZE 30720000
250 PIPELINING
DEBUG SMTP: Found extension "HELP", arg ""
DEBUG SMTP: Found extension "SIZE", arg "30720000"
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<expediteur@meditel.ma>
554 Mail from expediteur@meditel.ma rejected for policy reasons.
DEBUG SMTP: got response code 554, with response: 554 Mail from handset@meditel.ma rejected for policy reasons.

RSET
250 Reset state
com.sun.mail.smtp.SMTPSendFailedException: 554 Mail from expediteur@meditel.ma rejected for policy reasons.

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at javax.mail.Transport.send0(Transport.java:189)
at javax.mail.Transport.send(Transport.java:118)
at postMail.(postMail.java:64)
at postMail.main(postMail.java:70)
QUIT
221 SRV01010304.meditel.int SMTP Service closing transmission channel
Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 Mail from handset@meditel.ma rejected for policy reasons.

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at javax.mail.Transport.send0(Transport.java:189)
at javax.mail.Transport.send(Transport.java:118)
at postMail.(postMail.java:64)
at postMail.main(postMail.java:70)
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
9 juil. 2008 à 16:50
as tu lu les commentaire de GillesWebmaster ?
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
9 juil. 2008 à 14:28
salut ,

je travaille sur eclipse et lorsque j'essaie d'envoyer un message avec java ,j'obtient l'erreur suivante:

Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 Mail from expediteur@gmail.com rejected for policy reasons.
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
8 juil. 2008 à 17:14
salut ,

je travaille sur eclipse et lorsque j'essaie d'envoyer un message avec java ,j'obtient l'erreur suivante:

Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 554 Mail from expediteur@gmail.com rejected for policy reasons.

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at javax.mail.Transport.send0(Transport.java:189)
at javax.mail.Transport.send(Transport.java:118)
at postMail.(postMail.java:58)
at postMail.main(postMail.java:64)



-------------------------------
le code utilisé est le suivant:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;





public class postMail {

/**
* @param args
*/

/* declaration des paramétres de connexion */
private static final String SMTP_HOST_NAME = "10.128.1.160";
private static final String emailMsgTxt = " ";
private static final String emailSubjectTxt = " ";
private static final String emailFromAddress = "expediteur@gmail.com";

private static final String[] emailList = {"desti1@yahoo.fr", "desti2@meditel.ma"};



public postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
boolean debug = false;

//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);

// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);

// create a message
Message msg = new MimeMessage(session);

// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);

InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
{
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);


// Optional : You can also set your custom headers in the Email if you Want
msg.addHeader("MyHeaderName", "myHeaderValue");

// Setting the Subject and Content Type
msg.setSubject(subject);
// msg.setContent(message, "text/plain");
Transport.send(msg);
}

public static void main(String args[]) throws Exception
{

new postMail( emailList, emailSubjectTxt, emailMsgTxt, emailFromAddress);
System.out.println("Sucessfully Sent mail to All Users");
}

}


-------------------------
c'est trés urgent ,je suis bloqué

merci,

cordialement
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
4 juil. 2008 à 10:43
bonjour à tous ,

le probleme envoyer des emails à partir d'une application en java web ,

est ce que je dois pas changer le DNS de ma machine et entrer comme DNS l'adresse ip du serveur de messagerie.

cordialement .
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 17:11
merci infiniment pour toutes vos reponses

maintenant si je suis sur un réseau local et je veux envoyer des emails soit avec java ou HTML via Outlook et surtout via Lotus Notes ,les messages sont à envoyer à partir d'une application intranet via Lotus Notes 7

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 juil. 2008 à 15:37
itch, pas à ma connaissance!
à moins de monter un petit serveur Linux domestique, je ne crois pas!?!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 15:33
merci pour le temps que vous m'accorder

si non si je veux envoyer des messages à partir de mon application sans utiliser le serveur SMTP est ce qu'il y a une solution pour le faire en java

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 juil. 2008 à 15:02
Non, il ne me semble pas qu'il soit impropre.
Par contre ton FAI te fournit son serveur SMTP.
http://www.commentcamarche.net/faq/sujet-893-adresses-des-serveurs-pop-et-smtp-des-principaux-fai

Je ne crois pas qu'il existe des SMTP libres car ce serai la porte ouverte aux SPAMS et autres Pourriels (comme disent nos amis français)

@++
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 14:43
merci pour vos eclaircissement ,
est ce que vous pouvez me donner un exemple d'un fournisseur que je peux utiliser sans probleme,

est e qu'il y a pas d'anomalies das mon code

merci bien GillesWebmaster

cordialement
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 juil. 2008 à 14:05
essaye avec un autre fournisseur que HOTMAIL!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 13:51
merci pour ta réponse
mais comment je peux trouver un FAI compaible SMTP?

sachant que je veux envoyer des emails à partir d'une application web et je suis sur un réseau local d'une société(opérateur télécom)

merci d'eclaircir un peu GillesWebmaster

et merci pour tous les membres du forum
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 13:46
bonjour

et merci pour m'aider d'avance

j'utilise l'api eclipse et je désire envoyer un email

voilà mon code :



import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Date;
import java.util.StringTokenizer;
public class MailTo {
public MailTo() {
}
public static boolean sendMail(Socket sock, String localHost,
String Destinataire, String from, String subject, String message)
throws IOException {
//connection a la socket passe par param
out = new PrintWriter(sock.getOutputStream());
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
//on recoi la ligne qui nous dit que l'on est connecté
receive();
//on envoi la premiere ligne qui indique de qui elle provien
send("HELO " + localHost);
//on nous dit qu'elle a bien etait recu
receive();
//on envoi l'adresse de l'expediteur
send("MAIL FROM: <" + from + ">");
//on nous dit que ca c'est bien passe
receive();
//on envoi l'adresse du destinataire
send("RCPT TO: <" + Destinataire + ">");
//on recupere la reponse
receive();
//on passe au chose serieuse pour commencer l'envoi du corps
send("DATA");
//on verifie que le serveur soit pret
receive();
//on envoi plusieur balise utile
send("Subject: " + subject);
send("Date: " + new Date());
send("Reply-To:" + from);
send("To: " + Destinataire);
//on envoi cahque ligne separement en utilisant \n comme delimitateur
StringTokenizer tokenizer = new StringTokenizer(message, "\n");
//la ligne ci dessous se traduit par : tant qu'il y a encore des ligne
while (tokenizer.hasMoreTokens())
send(tokenizer.nextToken());
//pour finir l'envoi d'un mail il faut envoi sur une ligne un seul point
send(".");
//on verifie que le mail a etait accepte
receive();
//on quitte
send("QUIT");
//on nous dit que ca a bien quitter
receive();
//on ferme les flux
in.close();
out.close();
sock.close();
return true;
}
//methode qui recoit les information du servveur
private static void receive() throws IOException {
String line = in.readLine();
if (line != null) {
System.out.println(line);
System.out.println("\n");
}
}
//methode qui envoi des infos au serveur
private static void send(String s) {
System.out.print(s);
System.out.print("\r\n");
System.out.flush();
out.print(s);
out.print("\r\n");
out.flush();
}
private static BufferedReader in;
private static PrintWriter out;


public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
try{
Socket sock= new Socket("stmp.hotmail", 25);
MailTo.sendMail(sock, "localHost", "lahrizi-zt@hotmail.com", "lahrizi-zt@hotmail.com", "salut", "salut ça marche");
}catch(Exception e){
e.printStackTrace();
}


}

}

probléme:
j'ai toujours l'exception suivante:
java.net.UnknownHostException: stmp.hotmail
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at MailTo.main(MailTo.java:83)

je pense que c'est un probléme de smtp.

c'est quelqu'un peut m'aider je serais trés reconnaissant
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 juil. 2008 à 12:05
1) Ce code n'intègre aucun serveur SMTP, c'est une appli séparée fournie par ton FAI (Provider)
2) les serveurs comme hotmail et autres ne sont pas compatible (volontairement) avec POP/SMTP puisque tu dois recourir à LEUR boite mail...
3) ton problème est un problème de connection au Serveur; Trouve un FAI compatible SMTP!
anouarderd Messages postés 20 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 26 août 2008
3 juil. 2008 à 11:35
je travaille sur eclipse et je veux envoyer un mail en utilisant java

j'utilise le code suivant:


import java.io.*;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Date;
import java.util.StringTokenizer;
public class MailTo {
public MailTo() {
}
public static boolean sendMail(Socket sock, String localHost,
String Destinataire, String from, String subject, String message)
throws IOException {
//connection a la socket passe par param
out = new PrintWriter(sock.getOutputStream());
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
//on recoi la ligne qui nous dit que l'on est connecté
receive();
//on envoi la premiere ligne qui indique de qui elle provien
send("HELO " + localHost);
//on nous dit qu'elle a bien etait recu
receive();
//on envoi l'adresse de l'expediteur
send("MAIL FROM: <" + from + ">");
//on nous dit que ca c'est bien passe
receive();
//on envoi l'adresse du destinataire
send("RCPT TO: <" + Destinataire + ">");
//on recupere la reponse
receive();
//on passe au chose serieuse pour commencer l'envoi du corps
send("DATA");
//on verifie que le serveur soit pret
receive();
//on envoi plusieur balise utile
send("Subject: " + subject);
send("Date: " + new Date());
send("Reply-To:" + from);
send("To: " + Destinataire);
//on envoi cahque ligne separement en utilisant \n comme delimitateur
StringTokenizer tokenizer = new StringTokenizer(message, "\n");
//la ligne ci dessous se traduit par : tant qu'il y a encore des ligne
while (tokenizer.hasMoreTokens())
send(tokenizer.nextToken());
//pour finir l'envoi d'un mail il faut envoi sur une ligne un seul point
send(".");
//on verifie que le mail a etait accepte
receive();
//on quitte
send("QUIT");
//on nous dit que ca a bien quitter
receive();
//on ferme les flux
in.close();
out.close();
sock.close();
return true;
}
//methode qui recoit les information du servveur
private static void receive() throws IOException {
String line = in.readLine();
if (line != null) {
System.out.println(line);
System.out.println("\n");
}
}
//methode qui envoi des infos au serveur
private static void send(String s) {
System.out.print(s);
System.out.print("\r\n");
System.out.flush();
out.print(s);
out.print("\r\n");
out.flush();
}
private static BufferedReader in;
private static PrintWriter out;


public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
try{
Socket sock= new Socket("stmp.hotmail", 25);
MailTo.sendMail(sock, "localHost", "lahrizi-zt@hotmail.com", "lahrizi-zt@hotmail.com", "salut", "salut ça marche");
}catch(Exception e){
e.printStackTrace();
}


}

}



le probléme c'est que j'ai toujours cette erreur:

java.net.UnknownHostException: stmp.hotmail
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at MailTo.main(MailTo.java:83)

et méme si je change "smtp.hotmail" par "smtp.hotmail.com" ou "smtp.yahoo.fr"

de plus je sais pas comment utliser le serveur smtp ???!
comment l'activer ou juste l'utiliser ???
a l'attente d'une reponse je serais trés trés reconnaissant!!

merci d'avance
styvodiabolo Messages postés 44 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 4 janvier 2009
8 mars 2008 à 16:05
Finalement, j'ai trouvé une page : http://www.commentcamarche.net/faq/sujet-2761-langages-envoyer-un-mail-avec-piece-jointe avec ceci j'ai compris les _NextPart_000_0000_01C83B43.03187040.

Mais bon, le document word que j'envoie fait toujours 0 Octet.

++
styvodiabolo Messages postés 44 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 4 janvier 2009
8 mars 2008 à 12:04
Bonjour à vous,

Tout d'abord, merci à toi SHEOROGATH pour ce script.
Je voudrais juste revenir sur le commentaire de JGRIM où il explique comment rajouter une pièce jointe dans le mail.
Serait-il possible d'avoir un soupçon plus d'explications car je vois pas que sont les _NextPart_000_0000_01C83B43.03187040, de plus lorsque j'envoie une pièce jointe celle-ci fait O octet :/.
Dans la pièce jointe en question, j'ai testé une image avec l'objet Image puis ensuite un File, je pense que c'est une autre manière de faire mais je vois pas.

Merci d'avance pour vos réponses.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 déc. 2007 à 00:04
ben a toi d'en trouver un ... j'en ai pas en rab lol
rafikconstantine Messages postés 6 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 29 décembre 2007
29 déc. 2007 à 23:57
vous pouvez m'aider meme en utilisant un autre serveur smtp a par gmail. ???????????,
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
29 déc. 2007 à 23:49
.
502 5.5.1 Unrecognized command e20sm10486922fga.1

QUIT
502 5.5.1 Unrecognized command e20sm10486922fga.1

il reconnais pas les commandes c'est tout ... je connais pas les specifications smtp pour gmail
rafikconstantine Messages postés 6 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 29 décembre 2007
28 déc. 2007 à 21:15
j'ai changé le serveur de hotmail par gmail, alors j'ai trové ke sa marche et voissi le resultat :
220 mx.google.com ESMTP e20sm10486922fga.1


HELO localHost
250 mx.google.com at your service


MAIL FROM: <*******@gmail.com>
530 5.7.0 Must issue a STARTTLS command first e20sm10486922fga.1


RCPT TO: <******@hotmail.com>
530 5.7.0 Must issue a STARTTLS command first e20sm10486922fga.1


DATA
530 5.7.0 Must issue a STARTTLS command first e20sm10486922fga.1


Subject: salut
Date: Fri Dec 28 09:03:19 GMT-12:00 2007
Reply-To:****@gmail.com
To: ******@hotmail.com
Content-Type: text/plain; charset="us-ascii"

salu ça marche
.
502 5.5.1 Unrecognized command e20sm10486922fga.1


QUIT
502 5.5.1 Unrecognized command e20sm10486922fga.1


alors j'ai reçu comme message, kece ke je fais stp ?
rafikconstantine Messages postés 6 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 29 décembre 2007
28 déc. 2007 à 20:05
merci bcp, mais G rencontré un autre probleme C'st avec le serveur :
java.net.UnknownHostException: hotmail.smtp
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at mail.main(mail.java:7)
merci de me repondre stp.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
28 déc. 2007 à 19:19
pffff,

http://www.commentcamarche.net/java/javaexc.php3

autrement dis : try{
Socket sock= new Socket("smtp.hotmail", 25);
Envoie.sendMail(sock, "localHost", "mail1", "mail2", "salut", "salut ça marche");
}catch(Exception e){
e.printStackTrace();
}
rafikconstantine Messages postés 6 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 29 décembre 2007
28 déc. 2007 à 15:18
Pffff je trouve vraiment un probleme avec ce code,
j'ai ajouté la classe de rception avec ce code
import java.net.Socket;

public class mail {
public static void main (String[] args){

Socket sock= new Socket("smtp.hotmail", 25);
Envoie.sendMail(sock, "localHost", "mail1", "mail2", "salut", "salut ça marche");
}
mais je vois ke j'ai cette erreur :Unhandled exception type IOException
aidez moi svp, je sais je crois ke le probleme est dans le serveur aidez plzzzzzzz
}
cs_jgrim Messages postés 1 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 21 décembre 2007
21 déc. 2007 à 15:05
Salut et merci pour ce code qui est effectivement efficace et peu couteux en ressource.

Pour ce qui de l'envoi de pièces jointes, il faut jouer sur les MIME

Pour cela j'ai du enlever le send("Content-Type: text/plain; charset="us-ascii"\r\n"); de ma Classe MailTo pour l'inclure directement dans le message. Ensuite on utilise un Content/type Multipart/mixed.
Exemple :
Socket soc = new Socket(server_messagerie, 25);
String localHost = localHostname();
String _from = "compte@DPI-pmu.fr";
String _to = "autre_compte@mail.fr";
String _subject = "Mise a jour alpha de " + nom_fichier_modifie;
// ATTENTION ==> la constittion du message ne fonctionne qu'a la condition d'avoir mis
// les \r\n et \n au bonne endroit dans les TAG.
String message = "Content-Type: multipart/mixed;" +
"boundary="----=_NextPart_000_0000_01C83B43.03187040"\r\n" +
"------=_NextPart_000_0000_01C83B43.03187040\n" +
"Content-Type: text/plain;\n" +
"charset="iso-8859-1" \n" +
" Content-Transfer-Encoding: quoted-printable \r\n" +
" \r\n" +
"Original : " + nom_fichier_original_cour + "\r\n" +
"Modifié : " + nom_fichier_modifie_cour + "\r\n" +
" \n" +
"------=_NextPart_000_0000_01C83B43.03187040\n" +
"Content-Type: text/plain;\n" +
" name=" + nom_fichier_original_cour + "\n" +
"Content-Transfer-Encoding: quoted-printable " +
"Content-Disposition: attachment;\n" +
" filename=" + nom_fichier_original_cour + "\r\n" +
contenu_nom_fichier_original + "\r\n" +
" \r\n" +
" \n" +
"------=_NextPart_000_0000_01C83B43.03187040\n" +
"Content-Type: text/plain;\n" +
" name=" + nom_fichier_modifie_cour + "\n" +
"Content-Transfer-Encoding: quoted-printable " +
"Content-Disposition: attachment;\n" +
" filename=" + nom_fichier_modifie_cour + "\r\n" +
contenu_nom_fichier_modifie + "\r\n" +
" \r\n" +
" \n" +
"------=_NextPart_000_0000_01C83B43.03187040 \n";
MailTo.sendMail(soc, localHost, user_base64, mdp_base64, _to, _from, _subject, message);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

Bon c'est juste un exemple et le contenu de ma pièce jointe et dans le String contenu_nom_fichier_original et la deuxième pièce jointe et dans contenu_nom_fichier_modifie.

J'ai aussi fais le test pour une image et ça fonctionne en editant l'image comme un texte et en l'ajoutant au message.

Bon Fête à tout le monde en espérant que j'en ai aidé certain par ce message.
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
30 nov. 2007 à 16:56
Mieux vaut utiliser l'API JavaMail!
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
30 nov. 2007 à 16:27
oui faut voir les specification mime

j'ai regarde pour une implementation j'ai pas le temps actuellement
sinon quant a l'implementation je pense pas quelle soit tres complique
castrogne Messages postés 1 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 30 novembre 2007
30 nov. 2007 à 12:26
Bonjour,

super code pour se simplifier la vie!

Est-il possible d'envoyer une pièce jointe en modifiant un peu? Je suppose que oui, mais je ne connais pas le format...

Merci!
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
22 oct. 2007 à 17:02
oui...
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
22 oct. 2007 à 13:28
^^ sympa !
merci pour la precision et je suis content que ca ai pu etre utile
willy_easy Messages postés 2 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 22 octobre 2007
22 oct. 2007 à 11:42
Salut,

Ben je craiganis que multiplication des send RCPT TO et des TO ne fasse planté le bignou. En fait, ça passe tres bien.
Là il accepte toutes les adresses.

Par contre j'avais fait une erreur : J'avais doublé le tokenizer et le while, un pour le RCPT TO, un pour le TO. Dans ce cas le mail part bien comme il faut, mais aucune adresse n'apparait dans destinataire dans le mail reçu.

=> Il faut faire le StringTokenizer et le while que sur le RCPT TO et laissé la chaine d'adresses normale pour le TO.
Là tout se passe tres bien, chaque adresse est prise en compte, et on a bien toutes les adresses qui apparaissent en destinataires, bref un vrai mail quoi ;o).

Merci bcp.
amaratop Messages postés 3 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 21 octobre 2007
21 oct. 2007 à 04:01
Bonjour !

Tu utilises un StringTokenizer
java.util.StringTokenizer st=new java.util.StringTokenizer(f.getTo().trim(),";");
while(st.hasMoreTokens()){}

"f" est le formulaire qui recupère le string de To
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 oct. 2007 à 18:49
ben heu tu utilise un stringtokeyniser et tu boucle sur la methode avec un while

ou alors peut etre qu'il y a une commande smtp qui redirige le mail vers plusieur destinataires ...
willy_easy Messages postés 2 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 22 octobre 2007
19 oct. 2007 à 13:28
Bonjour,

Ce script correspond pil poil à mon besoin. ;o)

Il marche très bien avec une seule adresse mail pour le destinataire, mais ne reconnait pas un String contenant plusieurs adresses séparées par des ";".
Y a-t-il une ruse ?

Merci
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
3 oct. 2007 à 14:48
Ha tu me rassures!
amaratop Messages postés 3 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 21 octobre 2007
3 oct. 2007 à 14:28
Merci sheorogath c'etait un probleme de srveur le 10.3.0.3 n'était plus fonctionnel , je l'ai changé de meme que le controle et ca marche merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
3 oct. 2007 à 07:29
il ouvre pas la socket donc probleme de server et/ou de port

il faut que sur 10.3.0.3 tu ai un serveur smtp qui tourne

test.sendMail(sock,localhost,f.getDestinataire(),f.getFrom(),f.getSubject(),f.getMessage());
if (test.sendMail(sock,localhost,f.getDestinataire(),f.getFrom(),f.getSubject(),f.getMessage())==true)

=>
boolean b = test.sendMail(sock,localhost,f.getDestinataire(),f.getFrom(),f.getSubject(),f.getMessage());
if (b)
amaratop Messages postés 3 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 21 octobre 2007
2 oct. 2007 à 12:09
Bonjour j'ai essayé le code d'envoie d'e-mail sans utiliser JavaMail dans une application java avec Struts mais j'ai ce message d'erreur:java.net.SocketException: Socket is closed

Bon voici le code :

public class TestMail {
public TestMail() {
}

public static boolean sendMail(Socket sock, String localHost,
String Destinataire, String from, String subject, String message)
throws IOException {

//connection a la socket passe par param
out = new PrintWriter(sock.getOutputStream());
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
//on recoi la ligne qui nous dit que l'on est connecté
receive();
//on envoi la premiere ligne qui indique de qui elle provien
send("HELO " + localHost);
//on nous dit qu'elle a bien etait recu
receive();
//on envoi l'adresse de l'expediteur
send("MAIL FROM: <" + from + ">");
//on nous dit que ca c'est bien passe
receive();
//on envoi l'adresse du destinataire
send("RCPT TO: <" + Destinataire + ">");
//on recupere la reponse
receive();
//on passe au chose serieuse pour commencer l'envoi du corps
send("DATA");
//on verifie que le serveur soit pret
receive();
//on envoi plusieur balise utile
send("Subject: " + subject);
send("Date: " + new Date());
send("Reply-To:" + from);
send("To: " + Destinataire);
//on envoi cahque ligne separement en utilisant \n comme delimitateur
StringTokenizer tokenizer = new StringTokenizer(message, "\n");
//la ligne ci dessous se traduit par : tant qu'il y a encore des ligne
while (tokenizer.hasMoreTokens())
send(tokenizer.nextToken());
//pour finir l'envoi d'un mail il faut envoi sur une ligne un seul point
send(".");
//on verifie que le mail a etait accepte
receive();
//on quitte
send("QUIT");
//on nous dit que ca a bien quitter
receive();
//on ferme les flux
in.close();
out.close();
sock.close();
return true;
}
//methode qui recoit les information du servveur
private static void receive() throws IOException {
String line = in.readLine();
if (line != null) {
System.out.println(line);
System.out.println("\n");
}
}
//methode qui envoi des infos au serveur
private static void send(String s) {
System.out.print(s);
System.out.print("\r\n");
System.out.flush();
out.print(s);
out.print("\r\n");
out.flush();
}
private static BufferedReader in;
private static PrintWriter out;
}

Ensuite L'action :

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

TestMailForm f=(TestMailForm)form ;
String result=new String("go");
TestMail test=new TestMail();
Socket sock = new Socket("10.3.0.3",25);
String localhost=new String("localhost");
test.sendMail(sock,localhost,f.getDestinataire(),f.getFrom(),f.getSubject(),f.getMessage());
if (test.sendMail(sock,localhost,f.getDestinataire(),f.getFrom(),f.getSubject(),f.getMessage())==true)

request.setAttribute("resultat","succes");
else
request.setAttribute("resultat","echec");

return mapping.findForward(result);

}

}

Puis dans la page Jsp je recupère From , destinataire ,subject et message
kodipro Messages postés 10 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 27 juillet 2007
27 juil. 2007 à 19:54
Voilà j'ai pu avoir une aide et en fait il fallait changer

out = new PrintWriter(sock.getOutputStream());

En :

out = new PrintWriter ( new OutputStreamWriter (sock.getOutputStream(), "UTF8" ) );
kodipro Messages postés 10 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 27 juillet 2007
26 juil. 2007 à 11:10
Merci pour ce code qui fonctionne quasiment comme je veux.

En fait je voudrais savoir la bonne syntaxe pour modifier l'encodage des caractères dans le mail j'ai vu plus haut :

send("Content-Type: text/plain; charset="us-ascii"\r\n");

Je l'ai modifier pour mes besoin en :

"send("Content-Type: text/html; charset=UTF-8");"

car je voudrait encoder mes caractères en utf-8 est ce que c'est bien comme ça que je dois le noter car cela ne change pas.


Merci
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
2 juil. 2007 à 23:55
avec plaisir ^^ c'est la pour ca
Le_Ronan Messages postés 3 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 26 juin 2007
2 juil. 2007 à 23:50
Je te remercie sheorogath,

Je cherchais justement un code pour ne pas utiliser javamail.

C'est tout bête, mais ça fonctionne au poil.

Merci encore !
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
27 juin 2007 à 18:45
Salut,
smtp.topnet.tn c'est protocole de communication vers ton serveur qui est chargé d'envoyer ton e-mail; Si tu possèdes un nom de domaine, renseigne toi auprès de ton hebergeur, sinon utilise le SMTP de ton FAI, si celui-ci autorise les envois anonymes de mails!
bebia Messages postés 2 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 25 juin 2007
25 juin 2007 à 20:23
Bonjour,
je suis débutante en Java ,je developpe une application J2EE j'utilise Struts ,mon probléme c'est que je veux envoiyer un mail à partir de mon application ,et dans le code fourni ya beaucoups de trucs qu j'ai pas bien saisi
comme par exemple:Socket sock = new Socket("smtp.topnet.tn",25);le nom "smtp.topnet.tn",comment il a etait détérminé???j'ai téléchatgé un serveur SMTP mais pour le nom je coince
MERCI A VOUSSS
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
24 mai 2007 à 16:59
QU'AS TU FAIS???
c'est important car ta démarche pourrait aider quelqu'un!
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
24 mai 2007 à 15:45
je ne sais quel etais l erreur l'autre fois
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
24 mai 2007 à 10:41
non merci sava sa marche
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
22 mai 2007 à 20:33
c'est la connection a ton serveur smtp qui coince ... est tu sur de ne pas avoir besoin d'authentification?
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
22 mai 2007 à 18:16
Pourquoi tu ne te bases pas uniquement sur
Socket sock = new
Socket("serveur smtp",25);
MailIo.sendMail(sock,Host,from,mail,subject,message);
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
22 mai 2007 à 17:43
merci de me repondre le plus tot possible
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
22 mai 2007 à 12:37
voila le code de mon action pour l'envoie de mail


public ActionForward envoyer(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws UnknownHostException, IOException {
EnvoieMailForm envoieMailForm = (EnvoieMailForm) form;// TODO Auto-generated method stub
Email email=new Email();
Socket sock = new Socket("smtp.topnet.tn",25);

email.sendMail(sock,"localhost", "sana_ensi@yahoo.fr","sana_barboura@yahoo.fr","validationde commande","commande validé");


return (mapping.findForward("mailenvoie"));
}
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
22 mai 2007 à 12:36
bonjour, j ais essayé le code si dessus; mais j'ais l'erreur suivante :
java.net.ConnectException: Connection timed out: connect
java.net.PlainSocketImpl.socketConnect(Native Method)
java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
java.net.Socket.connect(Socket.java:516)
java.net.Socket.connect(Socket.java:466)
java.net.Socket.(Socket.java:366)
java.net.Socket.(Socket.java:179)
com.positif.struts.mail.EnvoieMailAction.envoyer(EnvoieMailAction.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

merci de m'aider
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
18 mai 2007 à 11:49
c'est pas un serveur smtp ca se connecte a un serveur smtp
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
18 mai 2007 à 11:44
comment je lance le serveur smtp?
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
18 mai 2007 à 11:35
et tu coince ou ?
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
18 mai 2007 à 11:22
c'est juste pour l'envoie cet envoie ce fais automatiquement depuis mon application
merci
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
18 mai 2007 à 11:19
Oui mais sois plus précis: qu'est ce qui ne va pas?
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
18 mai 2007 à 11:14
es ce que tu peux m'aider d'avoir une fonction pour l'envoie de mail
merci pour l'aide
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
14 mai 2007 à 18:34
lol et tu attend quoi comme aide ?
sonsonnn Messages postés 10 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 24 mai 2007
14 mai 2007 à 12:13
je fais mon projet de fin d'étude, mon application comporte un module pour l'envoie de mail à l'internaute pour lui indiquer la validation de son commande, mon application c'est une application de commerce électronique developper avec J2EE struts et hibernate
merci d'avance de m'aider au plus tôt possible
hitno17 Messages postés 2 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 8 avril 2007
8 avril 2007 à 19:35
OK sa joue je me suis débrouillé autrement mais merci pour tes explications.
amateur_java Messages postés 32 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 6 août 2020
22 mars 2007 à 19:49
hitno17

les variables s'initialisent dés le debut apres la declaration de la methode:

string message="hello etc...";

ex:
# public class MailIo {
# public static string message="ton text";

etc..
# public MailIo() {
#
# }

surtout veille bien à respecter l'ecriture...si tu comprends toujous pas n'hesite ps à demander!

amateur
hitno17 Messages postés 2 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 8 avril 2007
22 mars 2007 à 11:44
Hello !! Dédà un moment que tu a fait ce code mais :


Je comprend pas très bien ou est-ce que tu met

String message = "";
...
Socket soc = new Socket("nom du serveur smtp",25);
MailIo.sendMail(....);

??
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 déc. 2005 à 18:10
String message = "";
...
Socket soc = new Socket("nom du serveur smtp",25);
MailIo.sendMail(....);

tout simplement
si ta d'autre probleme n'hesite pas ;)
amateur_java Messages postés 32 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 6 août 2020
19 déc. 2005 à 15:53
comment initialiser les variables from subject message et destinataire.
car je n'arrive pas a atuliser ta source
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
27 nov. 2005 à 10:59
Oui j'ai été très imprécis: Outlook ne bloque pas mais il n'affiche pas le message en lui même...
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
27 nov. 2005 à 10:29
outlook ne m'as jamais bloqué !!! enfin je l'ajouterai peut etre mais merci de tes commentaire !!!
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
27 nov. 2005 à 09:40
J'ai trouvé pourquoi je ne recevais pas le corps du message: il faut ajouter cette ligne:$


send("Content-Type: text/plain; charset="us-ascii"\r\n");

avant

StringTokenizer tokenizer = new StringTokenizer(message, "\n");

Sinon des logiciels comme Outlook bloquent l'affichage du message...
Bonne journée
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
26 nov. 2005 à 23:27
Oui désolé moi aussi je n'aimes pas cette zone de texte simple, je préfère celle proposée pour le forum... => réformulation:


Moi je modifierais ceci
"public static boolean sendMail(Socket sock, String localHost,String Destinataire, String from, String subject, String message)"

par ceci"public static boolean sendMail(Socket sock, String localHost, String from, String nomFrom, String Destinataire, String subject, String message) "


et ajouterais ceci "send("From:""+nomFrom+""<" + from+">");"
juste après "send("To: " + Destinataire); "


voilà j'espère que c'est plus lisible...

Enfaite le reply-to n'est pas la meme chose que le from car le from s'affiches dans l'entête du message (testé sous MS Outlook 2003)...

Je ne comprends pas " le corps du message s'affiche dans la console a l'envoi" merci de m'expliquer
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
26 nov. 2005 à 23:17
le corps du message s'affiche dans la console a l'envoi !!!

apres c vrai que c pas tres ordonne au niveau des constructeur !! sinon pour le from c un peu comme le reply to !!

sinon dsl pour les fautes

Ps : tu pourrai essayez d'aerer ton prochain post car je ne suis pas sur de tout avoir saisie !!!
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
26 nov. 2005 à 23:11
Ta source n'est pas mal mais il y deux erreurs apparentes, hormis les fautes d'orthographe dans le commentaires; Le corps du message lui-même ne s'affiche malheureusement pas... ( je n'ai pas encore de solution). Tu disais en introduction que tu côté recepteur, c'est un peu désordonné et c'est vrai. Moi je modifierais ceci "public static boolean sendMail(Socket sock, String localHost,
String Destinataire, String from, String subject, String message)" par ceci"public static boolean sendMail(Socket sock, String localHost,
String from, String nomFrom, String Destinataire, String subject, String message) " et ajouterais ceci "send("From:""+nomFrom+""<" + from+">");" juste après "send("To: " + Destinataire); "...
Bonne soirée
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
31 oct. 2005 à 14:42
ouais bonne idee mais si je ne l'ai pas fait et que je me suis contente des throws c'est qu'envoyer un mail est tres rapides puis avec les sorties ecran c'est assez simple de voir si il y a eut un proble^me
merci pour le com
++
tarzent Messages postés 30 Date d'inscription vendredi 12 juillet 2002 Statut Membre Dernière intervention 15 mai 2009
31 oct. 2005 à 14:39
Salut,

Tu devrais englober tes flux dans des blocs try finally. Au cas ou une exception se leverait pendant l'execution de ton code ça fermerait quand même les flux...
Rejoignez-nous