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

Publié par stux dans java

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

Publié par Daxentuut dans java

Avec les imports c'est mieux :

import java.awt.AWTException
import java.awt.Robot
import java.awt.event.KeyEvent
import java.io.IOException
import java.util.logging.Level
import...

Publié par jean-francois dans logiciel

Bonjour,
je suis tombe par hasard sur cette page que je trouver super. je cherche a faire quelque chose comme ca sur mon site. Et je galere depuis des jours... :(
Est-ce que tu partages le...

Publié par Fobec dans logiciel

Bonjour,
lorsque le regitrar masque l'identite du proprietaire, foWhoisClient ne pourra pas communiquer cette information. Par contre, le logiciel cherche la meilleur source d'information p...

Publié par gilles dans logiciel

Bonjour,

j'utilise quotidiennement votre excellent logiciel complet et ergonomique.

Mais depuis quelques jours j'ai un probleme il recherche indefiniment resolution du nom de l'hote.