Publié le 23/08/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
1 commentaires

Envoyer un email avec le logiciel par defaut

Pour envoyer rapidement un email, la solution la plus simple consiste à appeler la commande mailto du système d'exploitation. A l'aide de la librairie Desktop de JAVA, la fonction mailto ouvre le logiciel de messagerie par défaut puis pré-saisie les champs du message avec les paramètres de maito.

Envoyer un message avec outlook et JAVA

Lorsque la messagerie Outlook est configurée comme logiciel d'email par défaut, la commande mailto permet d'envoyer un message. En effet, la class DefaultSendMail est un exemple de comment:
- ouvrir une fenetre d'édition d'un email,
- renseigner l'adresse du destinataire,
- mettre un titre,
- saisir le contenu à envoyer au destinataire.

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/** 
 * Envoyer un email avec le logiciel par defaut
 * http://www.fobec.com/java/974/envoyer-email-avec-logiciel-par-defaut.html
 * Fobec 2010
 */
public class DefaultSendMail {
 
    public static void main(String[] args) {
        String mailTo = "";
        URI uriMailTo = null;
 
        //Assembler l'url
        mailTo = "user@gmail.com";
        mailTo += "?subject=Test avec Java";
        mailTo += "&body=Envoyer un email avec Java";
 
        //Ouvrir le logiciel de messagerie par défaut
        if (Desktop.isDesktopSupported()) {
            if (Desktop.getDesktop().isSupported(Desktop.Action.MAIL)) {
                try {
                    uriMailTo = new URI("mailto", mailTo, null);
                    Desktop.getDesktop().mail(uriMailTo);
                } catch (IOException ex) {
                    Logger.getLogger(DefaultSendMail.class.getName()).log(Level.SEVERE, null, ex);
                } catch (URISyntaxException ex) {
                    Logger.getLogger(DefaultSendMail.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }
}

Dans le cas d'un mailing, cette solution est parfaite pour automatiser la saisie des champs du message. Par exemple, à partir d'une base de donnée, la commande mailto utilisée en JAVA renseigne automatiquement l'adresse du destinataire, le titre et le contenu de l'email.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar nico

Publié par nico

le 01/07/2011 à 09:48:35

Petite erreur constate.
Apparemment il faut remplacer :
&mailTo = &?body=Envoyer un email avec Java
par &mailTo = < et commercial sans '<' et '>' &body=Envoyer un email avec Java

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
23/08/2010
Visualisation
vu 3808 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 265 articles
|BIO_PSEUDO|
Commentaires récents

Publié par liomka dans java

Merci! C'étais l'exemple parfait donc j'avais besoin pour apprendre la programmation Client/Serveur en Java ;)

Publié par taoufik dans CMS

merci cest un bon logiciel

Publié par stux dans java

Génial.. C'est exactement ce que je cherchais.

Publié par MeepMeep dans tuto

Attention, un petit correctif a apporter :
headerContent-type: $header_contenttype charset: UTF-8
Remplacer charset: UTF-8 par charsetUTF-8
La difference est subtile mais susceptible d'etre m...

Publié par Sylvio dans tuto

J'ai découvert récemment ElRTE (couplé à  ElFinder) qui a l'air pas mal.