comment faire pour que mon envoi de mail soit compatible avec hotmail ?
Quand j'envoi un mail sur gmail tout se passe correctement mais quand j'envoi un mail sur hotmail je ne le recoit pas ?
Hotmail ne supporte pas le Smtp ?
Version imprimable
comment faire pour que mon envoi de mail soit compatible avec hotmail ?
Quand j'envoi un mail sur gmail tout se passe correctement mais quand j'envoi un mail sur hotmail je ne le recoit pas ?
Hotmail ne supporte pas le Smtp ?
quand j'avais testé l'envoi de mail sur une boîte hotmail, je les retrouvais dans mes courriers indésirables.
Ou il t'identifie comme un spammeur :wink:.
Probablement, HOTMAIL vérifie l'identité du serveur d'envoi.
il n'arrive pas no nplus dans ma boite spam.
Peut-on avoir une description de ton environnement de test?
As-tu essayé d'effectuer un envoi manuellement?
voila ma procedure d'envoi :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 public class ActionMailCommandeA implements ActionListener { Fenetre fenetre; String emailAcheteur; /** * Constructeur * * @param fenetre fenetre principale du programme */ public ActionMailCommandeA(Fenetre fenetre,String email){ this.fenetre = fenetre; this.emailAcheteur = email; } /** * Méthode appelée lorsque une action est faite sur le bouton concerné.<br> * Cette méthode envoi la commande en cours par mail aux adresses AGRIFERT définies dans la table configuration de la base de données. * */ public void actionPerformed(ActionEvent e) { String [] mesmails=null; boolean envoye = false; int res = JOptionPane.showConfirmDialog(null,"Etes vous sur de vouloir envoyer ce mail ?","Question",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(res == 0){ try { LireConfig config = new LireConfig(); mesmails = config.getMails(); String serveur = mesmails[4]; Properties prop = System.getProperties(); prop.put("mail.smtp.host", serveur); Session session = Session.getInstance(prop,null); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(mesmails[3])); InternetAddress[] internetAddresses = new InternetAddress[2]; internetAddresses[0] = new InternetAddress(emailAcheteur); internetAddresses[1] = new InternetAddress(mesmails[0]); message.setRecipients(Message.RecipientType.TO,internetAddresses); message.setSubject("Envoi de commande"); BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("ci-joint votre commande"); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Partie de la pièce jointe messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource("temp/commandeA"+fenetre.compteur+".jpg"); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName("commande.jpg"); //Ajout de la partie pièce jointe multipart.addBodyPart(messageBodyPart); message.setContent(multipart); message.setHeader("Activ'Com", "Activ'Com mail"); message.setSentDate(new Date()); session.setDebug(true); Transport.send(message); envoye = true; new SauvegardeMailW("Mails Agrifert","commandes",mesmails[0],"temp/commandeA"+fenetre.compteur+".jpg"); new SauvegardeMailW("Mails Agrifert","commandes",mesmails[1],"temp/commandeA"+fenetre.compteur+".jpg"); JOptionPane.showMessageDialog(null,"message envoyé aux adresses :\n" + mesmails[0]+"\n"+emailAcheteur); } catch (AddressException eA) { eA.printStackTrace(); JOptionPane.showMessageDialog(null,"Une erreur d'adresse a empeché l'envoi du mail"); } catch (MessagingException eM) { eM.printStackTrace(); JOptionPane.showMessageDialog(null,"Une erreur a empeché l'envoi du mail"); } } } }
Personne n'a une idée :?
je ne sais vraiment pas pourquoi ca ne marche pas ya t'il quelque chose de spécial avec hotmail. Si oui que faut il faire pour que ce soit compatible ?
Merci d'avance
Hotmail Anti-Spam
Existe-t-il en Java une possibilité d'examiner le protocole entre le client et le serveur SMTP?
Si oui, peut-être tu pourras y trouver une réponse.
EDIT: Essaie de faire un exemple de simple courriel texte.
J'ai lu ce que tu viens de me montrer mais bon mon mail n'as rien a voir avec un spam et de toute facon s'il était considéré comme il serais dans mon dossier spam ce qui n'est pas le cas. Je le repète le problème est spécifique a hotmail quand je l'envoi sur gmail par exemple aucun problème. Ce quie j'aimerais savoir c'est s'il y quelque chose de spécial avec hotmail qui m'empèche de l'envoyer.
Merci
voilà ce que m'affiche le mode debug de javamail si ca peut en aider certains:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 DEBUG: setDebug: JavaMail version 1.3.2 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 "smtp.free.fr", port 25, isSSL false 220 smtp2-g19.free.fr ESMTP Postfix DEBUG SMTP: connected to host "smtp.free.fr", port: 25 EHLO ******** 250-smtp2-g19.free.fr 250-PIPELINING 250-SIZE 100000000 250-VRFY 250-ETRN 250 8BITMIME DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "SIZE", arg "100000000" DEBUG SMTP: Found extension "VRFY", arg "" DEBUG SMTP: Found extension "ETRN", arg "" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: use8bit false MAIL FROM:<cyborg289@hotmail.com> 250 Ok RCPT TO:<cyborg289@hotmail.com> 250 Ok RCPT TO:<ssk.mamy@gmail.com> 250 Ok DEBUG SMTP: Verified Addresses DEBUG SMTP: cyborg289@hotmail.com DEBUG SMTP: ssk.mamy@gmail.com DATA 354 End data with <CR><LF>.<CR><LF> Message-ID: <32233307.1126078278203.JavaMail.**************> Date: Wed, 7 Sep 2005 09:31:18 +0200 (CEST) From: cyborg289@hotmail.com To: cyborg289@hotmail.com, ssk.mamy@gmail.com Subject: Envoi de commande MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1_22725577.1126078278203" Activ'Com: Activ'Com mail ------=_Part_1_22725577.1126078278203 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit ci-joint votre commande ------=_Part_1_22725577.1126078278203 Content-Type: image/jpeg; name=commande.jpg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=commande.jpg ICI IL Y A LE CODE DE MON IMAGE QUE J'AI COUPE C'EST TROP LONG ------=_Part_1_22725577.1126078278203-- . 250 Ok: queued as EEDC88B94 QUIT
Essaie aune adresse d'expéditeur autre que cyborg289@hotmail.com.
Non rien non plus avec une adresse d'expédition dofférente.
D'après le debug tout se passe bien c'est ca que je ne comprends pas et pourtant je ne recoit jamais le mail sur l'adresse cyborg289@hotmail.com par contre je le recoit sur l'autre ssk.mamy@gmail.com
Bon je fait des inverstigations mais toujours pas de solution e nvue.
J'utilise jusqu'a maintenant le serveur smtp : smtp.free.fr pour les autres ca marche mais pour hotmail j'ai une erreur. Je me suis dit c'est peut etre le serveur smtp qui ne marche pas alors j'en ai installé un en local et j'ai envoyé les mail avec même problème les autres passent et hotmail plante :?
ok bon en fait je viens de trouver pourquoi ca marche pas.
Hotmail bloque les e-mail des sources qu'il ne connait pas. Donc ma question est donc comment faire pour envoyer un mail sans qu'il soit bloqué ?
Comme ca n'avance pas beaucoup je vais essayer de poser d'autres questions qui seront peut être plus explicites ?
- Comment se fait l'authentification d'un mail ?
- Comment faire pour pouvoir s'authentifier aupres du SMTP pour avoir le droit d'envoyer un mail (vers wanadoo, hotmail ...) sans qu'il soit rejeté ?
Je pense que certain on deja du faire un envoi de mail vers des adresse public hotmail ou wanadoo non ?
une solution peut être d'envoyer sur une autre boite (Gmail par exemple) qui le redirige automatiquement par un filtre sur ta boite Hotmail.
eefectivement cela pourrait etre une solution de secours cependant si Gmail decide d'appliquer les même filtre aux email que hotmail et wanadoo ca ne marchera plus et cela pourrait etre problématique.
Je cherche surtout du coté de l'authentification mais pour l'instant tout ce que j'ai essayé ne fonctionne pas.
j'ai essayé de rajouté une authentification aupres du serveur smtp mais jene suis pas sur de la methode:
j'ai créé cette classe qcomme il est montré dans la doc javamail.
puis ces lignes dans ma classe d'envoi du mail:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import javax.mail.*; public class PopupAuthenticator extends Authenticator { public PasswordAuthentication getPasswordAuthentication() { String username, password; username = "*****"; password = "****"; return new PasswordAuthentication(username, password); } }
dans authentificator j'ai définit mon username et mdp de mon compte freeCode:
1
2 Authenticator auth = new PopupAuthenticator(); Session session = Session.getInstance(prop,auth);
mais est ce que c'est bien celui du compte principale ou celui du mail free qu'il faut ?
avec le principal ca ne marche pas
EDIT: Avec le compte de ma messagerie principale non plus :(
Tu dois utiliser ton login et ton mdp de ton compte mail free.
J'ai fait ça y'a pas longtemps mais j'ai perdu mon code :/
Cependant je pense que tu devrais faire :
Mais je ne suis pas sûre de ta classe PopupAuthenticator. Je vais essayer de voir de mon côté.Code:
1
2
3 PopupAuthenticator auth = new PopupAuthenticator(); Session session = Session.getInstance(prop,auth);
Perso je viens de spammer mon pote de 170 mails en un clic depuis mon appli depuis le taf vers sa boite Hotmail et c'est pas arrive dans ca boite spam !
Et pourtant ma class d'envoi de mail est plus simple que la tienne car je n'est pas les pieces jointes d'ailleurs je ve te prendre un peu de code pour tester , merci !
J'ai mis mon code : ICI
Sinon je peux te filer le lien d'une Cops :wink: : ICI
Cyborg289 peux tu me dire comment tu utilises le mode debug de javamail stp?
Alors moi ça fonctionne en utilisant le serveur SMTP de Free : smtp.free.fr
sans s'authentifier, donc en gardant la ligne
Je me suis mailée sur Hotmail et j'ai bien le mail dans ma boite de réception.Code:Session session = Session.getDefaultInstance(props, null);
Alors la je comprends pas moi aussi j'ai utilisé le smtp.free.fr mais avec ou sans authentification je recoit pas le mail.
Voyez vous quelque chose dans mon code qui n'aille pas ?
Parce que la je vois vraiment pas pourquoi moi j eme fais jeté et vous ca marche.
J'ai essayé avec un server smtp privé et le mail n'arrive pas non plus.
je viens d'essayer ta classe tchoukapi et effectivement elle marche. Pourtant elle ne diffère pas de la mienne a part la pièce jointe alors pourquoi la mienne ne marche pas ?
Pour miss Gaelle j'utilise juste la ligne:
pour afficher le debug dans la console :wink:Code:session.setDebug(true);
Comme je l'avais esquissé dans mes réponses précédantes, la lutte anti-SPAM fait que tout courriel avec pièce jointe ou couriel avec MIME-type HTML est considéré potentiellement suspect.
Il faut analyser ton courriel pour voir s'il respecte les standards.
La plupart des courriels ne respectent pas ces standards ou bon usage.
Un exemple de bon usage est lorsqu'on envoie un courriel au format HTML, on insère une version texte.
A toi de voir...
en koi mon mail ne respecte pas les standards ? c'est juste un message et une piece jointe rien de plus comme un mail classique.
pas d'HTML ou autre
Ce n'est pas ce que je voulais dire. :wink:Citation:
Envoyé par Cyborg289
Mais le fait est là, tu n reçois pas le message donc quelque chose dans ton message "irrite" Hotmail. Je précise que tu as admis que la pièce jointe dérange Hotmail. Alors on va t'aider à trouver la cause.
Quel est la taille de la pièce jointe?
ca sont des images Jpeg d'environ 40 Ko pas très grosse donc ;)
merci jowo ca fait plaisir :D
As-tu vérifié si tu as suffisament d'espace libre dans ta boîte aux lettres?
Je t'ai envoyé un message à ton adresse Hotmail. L'as-tu reçu?
oui je l'ai recu ya pas de problème de place. Comme je l'ai dit j'ai testé avec la clasee de tchoukapi et ca marche sans problème c'est pour ca que j'e nai deduis que ce devais venir de ma pièce jointe parce que je ne vois pas de différence fondamentale entre nos deux classe a part la pièce jointe :wink:
EDIT: en enlevant la partie de la fonction avec la pièce jointe ca fonctionne mais avec ca marche pas :?
Essaye avec une autre piece jointe qu'un image pour voir.
non dès que je rajoute une pièce jointe ca foire image ou pas :?
Ya des chances que le serveur detecte la piece jointe comme Spam mais ce qui est etonnant c'est qu'il serait censé te ranger ca dans la case Spam et apparement c'est pas le cas tu as essayer de mettre le code qu'il ya :
ICI
Je me servi de son code pour envoyer des pièces jointes et ca passe ...
Oui teste avec une autre pièce jointe qu'on voit si ça vient de ta pièce jointe ou du code pour la pièce jointe.
j'ai déjà tester avec des pièces jointes de différents types mais ce ne fonctionne toujours pas.
Je vais essayer demain de faire une classe de test pour avancer la dessus
Alors là j'en reviens pas. Je viens juste de tester avec ce code aussi:Citation:
Ya des chances que le serveur detecte la piece jointe comme Spam mais ce qui est etonnant c'est qu'il serait censé te ranger ca dans la case Spam et apparement c'est pas le cas tu as essayer de mettre le code qu'il ya :
ICI
Je me servi de son code pour envoyer des pièces jointes et ca passe ...
et pourtant ca ne fonctionne pas non plus je doit etre maudit.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 package envoiMail; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class EnvoyerMail { public EnvoyerMail(){ String emailfrom = "ssk.mamy@gmail.com"; String emailto = "cyborg289@hotmail.com"; try{ // Récupére les propriétés du systéme Properties props = System.getProperties(); // Spécification du serveur mail props.put("mail.smtp.host", "smtp.free.fr"); // Récupère la session Session session = Session.getDefaultInstance(props, null); // Définition du message MimeMessage message = new MimeMessage(session); // Spécification de l'expéditeur message.setFrom(new InternetAddress(emailfrom)); // Spécification du destinataire message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailto)); // Sujet du message message.setSubject("Envoi commande"); // Première partie du message BodyPart messageBodyPart = new MimeBodyPart(); // Contenu du message messageBodyPart.setText("le voici"); // Ajout de la première partie du message dans un objet Multipart Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Partie de la pièce jointe messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource("ahahah.JPG"); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName("ahahah.JPG"); // Ajout de la partie pièce jointe multipart.addBodyPart(messageBodyPart); message.setContent(multipart); // Envoi du message Transport.send(message); }catch (MessagingException e){System.out.println("erreur message");} } }
Pourrait tu me montrer ton code tchoukapi s'il te plait ?
Merci d'avance :wink:
tchoukapi es tu la ? :P
UI pardon je suis la !
J'ai pas eu le temps de repondre
Je regarde mon code fais un dernier test et te copie colle tout ca :
Tin la vache tu portes la poisse en fait ca marche meme plus sur gmail ...
Humm ou est le bug ???
Bon eh bien merci cyborg je ne recois plus le mail sur hotmail et maintenant j'ai le mail sur gmail mais plus la piece jointe .
C'est pas cyborg qu'il faut t'appeler mais poisseux lol
Tin ca fait ch....
Deja si je met le .setText() avant le .setContent() je ne recoit plus le mail ni chez l'un ni chez l'autre
Nous v'la bien !!!! Grrrrr
le miens marche tout le temps avec que du texte et seulement avec la pièce jointe sur gmail :?
Le code que tu as posté en debut de forum marche bien avec un fichier text ?
JE vais le tester alors car la maintenant ca marche plus nulle part !!
Je suis vert !! j'ai bugué mon code comme un grand mdr
Tu le place où physiquement ton fichier que tu souhaite envoyer en piece jointe ?
en fait le premier marche sur gmail avec la pièce jointe et pas sur hotmail.
Mais avec du texte c'est à dire sans les pièces jointes ca marche partout