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

Publié par Axel dans java

Bonjour,
cet exemple a ete prepare et compile sous Netbeans 7.2 ;)
S'il y a un soucis, n'hesite pas

Publié par Fobec dans logiciel

prise en charge du format ipV6. L'api est compatible avec tous les ip qu'elles soient au format ipV4 ou ipV6.

Publié par troops28 dans CMS

C un truc qui va plaire ca ;) enfin j'espere
En ajoutant :
if ColWidths[i] < Canvas.TextWidth(strTemp) then ColWidths[i] := Canvas.TextWidth(strTemp)+10;

Dans la procedure LoadStr...

Publié par Jacky dans tuto

Yes ! Merci pour l'astuce, c'est ce qu'il me fallait :) !

Publié par pat59 dans CMS

j espere que le jeu vas fonctionner car vous le donnez mais il est bloqué snifff