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 3692 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 263 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Toluar dans tuto

Je viens de lire votre article que seulement aujourd'hui.
Une autre solution consiste a regarder le user-agent utilise par le navigateur du visiteur. Les crawlers sont clairement identifies ;-)...

Publié par Axel dans java

la position sur mouseDragged a ete corrigee dans l'article.
Merci Alpcom !

Publié par mohammed dans java

Bonjour ,Merci pour ce travail ,juste j'ai une question pour ce qui concerne les textes avec les caracteres speciaux comment faire??

Publié par Alpcom dans java

Salut , juste signaler une petite faute de frappe dans mouseDragged
ce n'est pas int y = p.y - newPos.x;
int y = p.y - newPos.y; !! des comportements curieux apparaissaient sinon merci beaucoup...

Publié par Kal747 dans php5

Merci pour l'info !