<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Everything is wrong &#187; Email</title>
	<atom:link href="http://everythingiswrong.free.fr/index.php/tag/email/feed/" rel="self" type="application/rss+xml" />
	<link>http://everythingiswrong.free.fr</link>
	<description>Un blog dédié à l&#039;informatique en général</description>
	<lastBuildDate>Wed, 06 Oct 2021 21:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Wiser : tester l&#8217;envoi d&#8217;un email</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/10/21/wiser-tester-lenvoi-dun-email/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/10/21/wiser-tester-lenvoi-dun-email/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 22:27:46 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Tests unitaires]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=1661</guid>
		<description><![CDATA[Tester unitairement l'envoi des emails (JavaMail)]]></description>
			<content:encoded><![CDATA[<p>Wiser est un petit serveur SMPT facilement intégrable dans une classe de test unitaire (Junit, TestNg, etc.). Il réceptionne les messages et les sauvegardes dans un tableau au lieu de les envoyer sur le réseau. Ces messages sont ensuite disponibles pour vérification.</p>
<p>Avec ce serveur, il est possible de vérifier tous les types de mails même ceux qui contiennent des pièces jointes. Il est développé dans le projet <a href="http://code.google.com/p/subethasmtp/" target="_blank">subethasmtp</a>.</p>
<p>Dans un projet maven il est nécessaire d&#8217;ajouter les dépendances suivantes :</p>
<pre class="brush: xml; toolbar: true;">&lt;dependency&gt;
    &lt;groupId&gt;org.subethamail&lt;/groupId&gt;
    &lt;artifactId&gt;subethasmtp-wiser&lt;/artifactId&gt;
    &lt;version&gt;1.2&lt;/version&gt;
    &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;

&lt;dependency&gt;
    &lt;groupId&gt;junit&lt;/groupId&gt;
    &lt;artifactId&gt;junit&lt;/artifactId&gt;
    &lt;version&gt;4.8.2&lt;/version&gt;
    &lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;</pre>
<p>Il faut, ensuite, écrire une méthode qui va envoyer un email et la tester dans une classe JUnit. Je vous propose d&#8217;utiliser JavaMail. Remarque : vous pouvez aussi envoyer un email à partir d&#8217;un logiciel comme thunderbird s&#8217;il est configuré avec Wiser comme serveur SMTP.</p>
<pre class="brush: java; toolbar: true;"> /**
  * Méthode qui envoie un email.
  */
public void sendEmail(String serveur, int port) throws AddressException, MessagingException {
   Properties prop = System.getProperties();
   prop.put("mail.smtp.host", serveur);
   prop.put("mail.smtp.port", String.valueOf(port));

   Session session = Session.getDefaultInstance(prop,null);
   InternetAddress[] internetAddresses =
   new InternetAddress[] {new InternetAddress("toi@xxx.com")};

   Message message = new MimeMessage(session);
   message.setFrom(new InternetAddress("moi@xxx.com"));
   message.setRecipients(Message.RecipientType.TO, internetAddresses);
   message.setSubject("Test");
   message.setText("test mail");

   Transport.send(message);
 }

 /**
 * Démarrage de Wiser avant l'éxécution du test.
 */
 @Before
 public void setUp() {
   wiser = new Wiser();
   wiser.setPort(2500); // port par défaut : 25
   wiser.start();
 }

 @After
 public void tearDown() {
   wiser.stop();
 }

 @Test
 public void testSendEmail() {
   try {
     sendEmail("localhost", 2500);   // Appel de la méthode qui envoie l'email.
     assertEquals(1, wiser.getMessages().size());

     for (WiserMessage message : wiser.getMessages()) {
       String envelopeSender = message.getEnvelopeSender();
       String envelopeReceiver = message.getEnvelopeReceiver();

       MimeMessage mess = message.getMimeMessage();

       // Il ne reste plus qu'a vérifier le contenu de l'email.
     }

   } catch (Exception e) {
     fail();
   }
 }</pre>
<p>Vous pouvez retrouver mon projet exemple <a href="https://subversion.assembla.com/svn/everythingiswrong/tutorial-wiser/" target="_blank">ici</a>.</p>
<p>Dans la distribution de subethasmtp, vous retrouverez des exemples pour tester des emails plus compliqués avec notament des pièces jointes.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/10/21/wiser-tester-lenvoi-dun-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10minutemail</title>
		<link>http://everythingiswrong.free.fr/index.php/2010/03/30/10minutemail/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2010/03/30/10minutemail/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 19:41:18 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[minute]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=92</guid>
		<description><![CDATA[Comme les grandes découverts scientifiques, c&#8217;est souvent en cherchant quelque chose sur internet que l&#8217;on tombe sur les plus grosses pépites sans aucun lien avec la première recherche. C&#8217;est donc en navigant sur le site de JBoss Seam que j&#8217;ai trouvé 10minutemail. Le principe est simple : création instantanée d&#8217;une adresse email qui n&#8217;a que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Comme les grandes découverts scientifiques, c&#8217;est souvent en cherchant quelque chose sur internet que l&#8217;on tombe sur les plus grosses pépites sans aucun lien avec la première recherche. C&#8217;est donc en navigant sur le site de <a href="http://www.seamframework.org/" target="_blank">JBoss Seam</a> que j&#8217;ai trouvé <a href="http://10minutemail.com" target="_blank">10minutemail</a>. Le principe est simple : création instantanée d&#8217;une adresse email qui n&#8217;a que dix minutes de durée de vie.</p>
<p style="text-align: justify;">Intérêt limité ? Tout dépend de l&#8217;utilisation : Cela permet de garder un certain anonymat, d&#8217;éviter les spams et surtout vous n&#8217;avez plus besoin de mémoriser tout vos comptes dans votre email habituel. Pour ce dernier point, il suffit de créer un nouveau compte avec une nouvelle adresse temporaire à chaque fois que vous avez besoin de vous inscrire quelque part. Si si, je vous assure que des fois c&#8217;est plus rapide que de retrouver son identifiant et son mot de passe.</p>
<p style="text-align: justify;">Au niveau des fonctionnalités, dès votre arrivée, le site internet vous attribue automatiquement une adresse email sans formulaire à remplir. Lorsque vous recevez un email vous pouvez le lire bien entendu, y répondre et le transférer à quelqu&#8217;un d&#8217;autre. Si jamais dix minutes ne vous suffisent pas, vous pouvez demander de réinitialiser la durée de vie votre boite aux lettres à dix minutes.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2010/03/30/10minutemail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
