IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[FileMaker] envoie de mail par SMTP via Java


Sujet :

API standards et tierces Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [FileMaker] envoie de mail par SMTP via Java
    Bonjour,

    via filemaker et un plugin permettant de faire du java, je cherche à envoyer un mail tout simple en passant par le SMTP du mon serveur IIS

    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import javax.mail.*;
    import javax.mail.internet.*;
    Properties props = new Properties();
    props.setProperty("mail.smtp.host", smtpHost);
    
    MimeMessage msg = new MimeMessage(Session.getDefaultInstance(props));
    Multipart content = new MimeMultipart();
    MimeBodyPart bodyPart = new MimeBodyPart();
    bodyPart.setText(body);
    content.addBodyPart(bodyPart);
    
    msg.setContent(content);
    msg.setSubject(subject);
    msg.setFrom(new InternetAddress(from));
    msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
    
    Transport.send(msg);
    return true
    mes paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    smtpHost : 192.168.4.1
    To : adresse1@wanadoo.fr
    from : adresse1@wanadoo.fr
    content : mytest
    subject : test mail
    l'erreur retournée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.net.UnkwonHostException: your_smtp_server.com
    lorsque je passe cette adresse 192.168.4.1 en serveur SMTP sortant sur thunderbird, cela fonctionne

    je ne connais pas trop Java, ni IIS, quelqu'un pourrait m'aider ?

    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 72
    Points
    72
    Par défaut
    Ce code , c'est du java ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    import javax.mail.*;
    import javax.mail.internet.*;
    Properties props = new Properties();
    props.setProperty("mail.smtp.host", smtpHost);
     
    MimeMessage msg = new MimeMessage(Session.getDefaultInstance(props));
    Multipart content = new MimeMultipart();
    MimeBodyPart bodyPart = new MimeBodyPart();
    bodyPart.setText(body);
    content.addBodyPart(bodyPart);
     
    msg.setContent(content);
    msg.setSubject(subject);
    msg.setFrom(new InternetAddress(from));
    msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
     
    Transport.send(msg);
    return true
    c'est tiré d'ou ? y a pas de nom de classe. Y a un return mais pas de méthodes ?

  3. #3
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut
    possibe erreur de frappe

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    L'erreur te dit qu'il n'y a pas de serveur SMTP sur smtpHost.

    Vérifie la valeur de smtpHost.
    Vérifie qu'il y a bien un serveur SMTP correctement paramétré sur smtpHost (en utilisant un client de messagerie avec par ex, ou telnet)
    Vérifie qu'un Firewall ne vienne pas bloquer les trames SMTP.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Provisoirement toléré
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Points : 72
    Points
    72
    Par défaut
    Voila un exemple qui fonction bien avec SMTP de gmail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    package mesClasses;
     
    import java.io.IOException;
     
    import com.jscape.inet.smtpssl.SmtpSsl;
    import com.jscape.inet.email.EmailMessage;;
     
    public class EnvoiMailGmail {
    	public void gererMail(String[] ListDest, String cCorps, String cSujet)
    	{
    	String EnvoyerA = ""; //un seul Destinataire à la fois
    	//Pour des raisons de simplicité, les informations du mail
    	//chargées de l'envoi sont inscrites en dur.
    	String EnvoieDe = "...@Gmail.com"; //Login
    	String pwd = "mot de passe"; //Password
    	for(int i = 0; i<ListDest.length ; i++)
    	{
    	//On récupère l'élément et on l'envoie
    	EnvoyerA = ListDest[i];
    	try{
    	envoyer(EnvoieDe, pwd, EnvoyerA, cSujet, cCorps);
    	}catch (IOException ex)
    	{
    	System.out.println("L'erreur est "+ex);
    	}
    	}
    	}
    	public void envoyer (String username,String password,String to, String cSujet, String cCorps ) throws
    	IOException
    	{
    	SmtpSsl smtp = null;
    	try {
    	//On crée une instance de connexion par SmtpSsl via le port 465
    	smtp = new SmtpSsl("smtp.gmail.com",465);
    	// On établit une connexion sécurisée
    	smtp.connect();
    	// les cordonnées du compte mail
    	smtp.login(username,password);
    	// Création du nouveau message avec le sujet et corps du mail
    	EmailMessage message = new EmailMessage();
    	message.setTo(to);
    	message.setFrom(username);
    	message.setSubject(cSujet);
    	message.setBody(cCorps);
    	//On précise qu'on peut utiliser le format HTML
    	message.setContentType("text/html");
    	// Envoi de message
    	smtp.send(message);
    	// Enfin, on se déconnecte
    	smtp.disconnect();
    	} catch(Exception e) {
    	System.out.println("Une erreur s'est produite : " + e) ;
    	}
    	}
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    package mesClasses;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class ServletWebMail extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    	static final long serialVersionUID = 1L;
    	public ServletWebMail() {
    		super();
    }
     
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
    	IOException {
    	//On récupère les paramètres du formulaire
    	String emailTo = req.getParameter("emailTo");
    	String emailSujet = req.getParameter("emailSujet");
    	String emailCorps = req.getParameter("emailCorps");
    	//Si aucun des champs n'est vide
    	if (emailTo!=null && emailSujet != null && emailCorps != null )
    	{
    	//on remplit le tableau avec la liste des destinataires
    	String[] ListDest = emailTo.split(";");
    	//La classe envoiMailGmail permet d'envoyer un mail via Gmail
    	EnvoiMailGmail envoiMailGmail = new EnvoiMailGmail();
    	envoiMailGmail.gererMail(ListDest, emailSujet, emailCorps);
    	}
    	resp.setContentType("text/plain");
    	PrintWriter out = resp.getWriter();
    	out.print("Mail Transmis ");
    	out.close();
    }
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
    IOException
    {
    	//Pour des raisons dédactiques la méthode doPost est la même que doGet
    	//On récupère les paramètres du formulaire
    	String emailTo = req.getParameter("emailTo");
    	String emailSujet = req.getParameter("emailSujet");
    	String emailCorps = req.getParameter("emailCorps");
    	//Si aucun des champs n'est vide
    	if (emailTo!=null && emailSujet != null && emailCorps != null )
    	{
    	//on remplit le tableau avec la liste des destinataires
    	String[] ListDest = emailTo.split(";");
    	EnvoiMailGmail envoiMailGmail = new EnvoiMailGmail();
    	envoiMailGmail.gererMail(ListDest, emailSujet, emailCorps);
    	}
    	//On renvoie la réponse au client.
    	resp.setContentType("text/plain");
    	PrintWriter out = resp.getWriter();
    	out.print("Mail Transmis");
    	out.close();
    }
    }

    Bon courage

  6. #6
    Membre régulier Avatar de Rodrick
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2005
    Messages : 92
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Je suis interessé aussi par le même genre de développement. Quel plugin filemaker utilises tu ?

    Cordialement,
    Allez une tite bière et au boulot!!!

Discussions similaires

  1. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 16h45
  2. Envoi de mail par SMTP
    Par Ataturk dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/06/2007, 17h31
  3. Envoi de mail par Access via Outlook
    Par SpiderKarim dans le forum Access
    Réponses: 5
    Dernier message: 27/09/2006, 16h21
  4. Access 97 : Envoi de mail par SMTP sans Outlook
    Par mr_foxy dans le forum Access
    Réponses: 2
    Dernier message: 16/03/2006, 14h45
  5. [Mail] Envoi de mail par SMTP ?
    Par Borami dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2006, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo