jeudi 14 novembre 2013

Dépôt local de Maven

Le dépôt local de Maven est un dossier local utilisé pour stocker toutes les dépendances de votre projet. (jars, plugins et autres fichiers qui sont téléchargés par Maven). Tout simplement, quand vous créez  un projet Maven, tous les fichiers de dépendance seront stockées dans votre dépôt local de Maven.

Par défaut, le dépôt local de Maven fait référence à un dossier nommé .m2  :

    1. Unix/Mac OS X – ~/.m2

    2. Windows – C:\Documents and Settings\{your-username}\.m2


1. Mise à jour du référentiel local de Maven
  
Normalement, On peut changer le dossier du référentiel local par défaut .m2 à un autre nom plus significatif, par exemple, depot-maven.

Trouvez {M2_HOME}\conf\setting.xml, mettre à jour localRepository à nouveau dossier.



2. Enregistrez-le

Et voilà, votre nouveau dépôt local de Maven est maintenant changé pour /home/rachid/depot-maven.

Le contenue de votre dépôt sera quelque chose comme ça :



jeudi 7 novembre 2013

Envoi des e-mails via SMTP Gmail

Je vous présente ici deux exemples pour vous montrer comment utiliser l'API JavaMail pour envoyer un mail via le serveur SMTP Gmail, en utilisant à la fois une connexion TLS et SSL.

Alors pour exécuter ces exemples, vous devez obtenir deux bibliothèques suivantes «mail.jar» et «activation.jar». Avec maven vous devez ajouter la dépendance ci-dessous à votre projet maven.

<dependency> 
     <groupId>javax.mail</groupId> 
     <artifactId>mail</artifactId> 
     <version>1.4</version> 
</dependency> 

Les instructions de configuration standard de google:

Outgoing Mail (SMTP) Server - requires TLS or SSL:
smtp.gmail.com
Use Authentication: Yes
Port for TLS/STARTTLS: 587
Port for SSL: 465

Et pour plus de détails : https://support.google.com/mail/answer/13287?hl=en

1. SMTP GMail via TLS

Envoyer un e-mail via le serveur SMTP de Gmail en utilisant la connexion TLS.

package com.saou.demo;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EnvoiMailTLS {
 
  public static void main(String[] args) {
 
  final String username = "username@gmail.com";
  final String password = "password";
 
  Properties props = new Properties();
  props.put("mail.smtp.auth", "true");
  props.put("mail.smtp.starttls.enable", "true");
  props.put("mail.smtp.host", "smtp.gmail.com");
  props.put("mail.smtp.port", "587");
 
  Session session = Session.getInstance(props,
    new javax.mail.Authenticator() {
      protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
      }
  });
  
  try {
 
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("de-email@gmail.com"));
    message.setRecipients(Message.RecipientType.TO       
                     InternetAddress.parse("a-email@gmail.com"));
    message.setSubject("Objet Test");
    message.setText("E-mail de test pour l'exemple de l'API JavaMail. "
      + "<br/><br/>Cordialement, <br/>Rachid SAOU");
 
    Transport.send(message);
 
    System.out.println("Terminé");
 
  } catch (MessagingException e) {
    throw new RuntimeException(e);
  }
  }
}

Port for SSL: 465

2. SMTP GMail via SSL

Envoyer un e-mail via le serveur SMTP de Gmail en utilisant la connexion SSL.

package com.saou.demo;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EnvoiMailSSL {
 
  public static void main(String[] args) {
 
  final String username = "username@gmail.com";
  final String password = "password";
 
  Properties props = new Properties();     
  props.put("mail.smtp.host", "smtp.gmail.com");   
  props.put("mail.smtp.socketFactory.port", "465");
  props.put("mail.smtp.socketFactory.class",
                  "javax.net.ssl.SSLSocketFactory");   
  props.put("mail.smtp.auth", "true"); 
  props.put("mail.smtp.port", "465");
 
  Session session = Session.getInstance(props,
    new javax.mail.Authenticator() {
      protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
      }
  });
  
  try {
 
    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress("de-email@gmail.com"));
    message.setRecipients(Message.RecipientType.TO      
                    InternetAddress.parse("a-email@gmail.com"));
    message.setSubject("Objet Test");
    message.setText("E-mail de test pour l'exemple de l'API JavaMail. "
      + "<br/><br/>Cordialement, <br/>Rachid SAOU");
 
    Transport.send(message);
 
    System.out.println("Terminé");
 
  } catch (MessagingException e) {
    throw new RuntimeException(e);
  }
  }
}