Aiiiide sur la reconstruction d'une classeee java mail avec spring

roidestenebres Messages postés 10 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 9 juin 2009 - 8 juin 2009 à 01:11
roidestenebres Messages postés 10 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 9 juin 2009 - 9 juin 2009 à 04:41
je sais qe le code est un peu long mais c tres simple ma classe marche bieenn mais je veux qe qqu m'aide pour la reconstruire, sachant qu'a chaque le fois je je veux changer le compte qui envoi les emails je dois toucher au fichier application-config et de la meme maniere le subject est ce qe qqu peut m'aider a reconstruire ma classe pour qu'il prend charge dans le constructeur de la classe principale MailTest , et j'ai un autre probleme consernat le simplemailmessage si possible comment la changer en Mimemessage pour prendre en charge le format HTMl et l'attachement d'un fichier

Meeeeeeeeeeeeeeerccciiiii


voila la classe MailTest.java

/////////////////////////////////////////////////////////////////
package forums.mailtest;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;

public class MailTest {

private MailSender mailSender;
private SimpleMailMessage templateMessage;
public MailTest(MailSender mailSender, SimpleMailMessage templateMessage) {
super();
this.mailSender = mailSender;
this.templateMessage = templateMessage;
}

public void sendMeMail() {
SimpleMailMessage msg = new SimpleMailMessage(templateMessage);

msg.setTo("brahimge_2020@hotmail.com");
msg.setText(" siiira a za d jawaaaaddd .\nGo Spring!\n");
try {
this.mailSender.send(msg);
} catch (MailException e) {
System.err.println("Didn't work.");
e.printStackTrace();
}
}

public static final void main(String[] args) {
try{
ApplicationContext appCtx = new ClassPathXmlApplicationContext(new String[] {
"application-config.xml"
});

MailTest tester = (MailTest) appCtx.getBean("mailTest");
tester.sendMeMail();
}catch(Exception ee){}
}

}

/////////////////////////////////////////////////////////////////////////
voila appliction-config


<!-- our Authenticator implementation -->

<constructor-arg value="myamil@gmail.com" />
<constructor-arg value="mypass" />


<!-- now setup an authenticated session -->

<constructor-arg>

true


465



javax.net.ssl.SSLSocketFactory



false




</constructor-arg>
<constructor-arg ref="smtpAuthenticator" />


<!-- and configure the MailSender with the authenticated session -->





<!-- this is a template message that we can pre-load with default state -->






<constructor-arg ref="mailSender" />
<constructor-arg ref="templateMessage" />


//////////////////////////////////////////

voila la classe SmtpAuthenticator
///////////////////////////////////////////
import javax.mail.PasswordAuthentication;

public class SmtpAuthenticator {

private String username;
private String password;

public SmtpAuthenticator(String username, String password) {
super();
this.username = username;
this.password = password;
}

public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}

}
//////////////////////////////:

4 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
8 juin 2009 à 10:56
Salut,

regarde du côté du PropertyPlaceholderConfigurer
0
roidestenebres Messages postés 10 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 9 juin 2009
8 juin 2009 à 12:01
wee c vraiii mais est ce qe vous pouvez expliquer plus
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
8 juin 2009 à 14:14
le PropertyPlaceholderConfigurer te permet d'avoir ta configuration dans des fichiers properties (peut importe l'endroit où ils sont) et dans tes fichiers de contexte tu utilises des variables qui sont le nom des clé dans les fichiers properties.
Regarde la doc, c'est tout simple à utiliser.
Un ex : http://almaer.com/blog/spring-propertyplaceholderconfigurer-a-nice-clean-way-to-share
0
roidestenebres Messages postés 10 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 9 juin 2009
9 juin 2009 à 04:41
weee Meeeercii j'ai pu résolu le probleme d'une maniere tres simple j'ai
j'ai supprime ds le fichier application-config value="mymail.gmail" et value="mypass"
ajouter un membre '' private SmtpAuthenticator auth;'' a ma classe MailTest puis ds la fonction send j'ai ajouter

'' SmtpAuthenticator auth= new SmtpAuthenticator("mymail@gmail.com","mypass");

et ca marcche mais la solution qe tu m'as proposé c un peu avancé il m'a donné d'autre idéé
Meeeeeeeeeeeeeeeeeeeeeeeerccii bcq
0
Rejoignez-nous