ENVOYER UN MAIL SANS UTILISER JAVAMAIL

Messages postés
30
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
15 mai 2009
- - Dernière réponse : begueradj
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 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

Afficher la suite 
begueradj
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
1 -
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
-
bonsoir

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

merci d'avance
liquideshark
Messages postés
35
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
29 mai 2007
-
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
-
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
-
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
-
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
-
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
-
informatique_sousou
tanabenezied
Messages postés
11
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
24 novembre 2008
-
OK
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
lieu inapproprié: forum!
anouarderd
Messages postés
20
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
26 août 2008
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
Nämlich!
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
oui mais le smtp est sur le lan ou pas ?
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
ou alors gmail n'authorise pas les connections externes
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
-
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
-
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
-
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
ben a toi d'en trouver un ... j'en ai pas en rab lol
rafikconstantine
Messages postés
7
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2007
-
vous pouvez m'aider meme en utilisant un autre serveur smtp a par gmail. ???????????,
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
.
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
7
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2007
-
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
7
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2007
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
7
Date d'inscription
samedi 14 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2007
-
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
Mieux vaut utiliser l'API JavaMail!
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
oui...
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
^^ 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
-
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
Ha tu me rassures!
amaratop
Messages postés
3
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
21 octobre 2007
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
-
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
-
non merci sava sa marche
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
c'est la connection a ton serveur smtp qui coince ... est tu sur de ne pas avoir besoin d'authentification?
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
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
-
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
comment je lance le serveur smtp?
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
c'est juste pour l'envoie cet envoie ce fais automatiquement depuis mon application
merci
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
-
es ce que tu peux m'aider d'avoir une fonction pour l'envoie de mail
merci pour l'aide
sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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
-
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
1 janvier 2011
-
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
-
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
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
1 janvier 2011
-
comment initialiser les variables from subject message et destinataire.
car je n'arrive pas a atuliser ta source
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
outlook ne m'as jamais bloqué !!! enfin je l'ajouterai peut etre mais merci de tes commentaire !!!
GillesWebmaster
Messages postés
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
507
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1 -
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
2465
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
10 -
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
-
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...