2017-09-25 6 views
2
public static void main(String [] args){ 

    String to="[email protected]";//change accordingly 
    final String user="[email protected]";//change accordingly 
    final String password="xxxxxx";//change accordingly 

    Properties pro = System.getProperties(); 
    pro.setProperty("mail.smtp.host", "mail.javatpoint.com"); 
    pro.put("mail.smtp.auth", "true"); 

    Session session = Session.getDefaultInstance(pro, new javax.mail.Authenticator() { 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication(user,password); 
      } 
      });  

    try{ 
     MimeMessage message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(user)); 
     message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); 
     message.setSubject("certificate"); 

     BodyPart msg = new MimeBodyPart(); 
     msg.setText("bodyPartMsg"); 

     MimeBodyPart messageBodyPart2 = new MimeBodyPart(); 
     System.out.println("attach"); 
     String filename = "C:\\Users\\Rudresh Mehta\\Desktop\\flow for certiManipulator";//change accordingly 
     System.out.println("attach complete"); 
     DataSource source = new FileDataSource(filename); 
     messageBodyPart2.setDataHandler(new DataHandler(source)); 
     messageBodyPart2.setFileName(filename); 

     Multipart multipart = new javax.mail.internet.MimeMultipart(); 

     multipart.addBodyPart(msg); 
     multipart.addBodyPart(messageBodyPart2); 


     //6) set the multiplart object to the message object 
     message.setContent(multipart); 
     //7) send message 

* ma question est pourquoi quand il vient ici que dès que le transport est donné, il se déplace dans attraper puis hors et le courrier n'est pas envoyé et comme mention dans le titre que l'erreur est affichée dans catch quand e est print. * Transport.send (message);
System.out.println ("message envoyé ....");com.sun.mail.smtp.SMTPSendFailedException: 550 Accès refusé - Nom invalide HELO (Voir RFC2821 4.1.1.1)

}catch(Exception e) 
    { 
     System.out.print(e); 
     System.out.println("in catch"); 
    } 
    System.out.println("complete"); 
+0

En raison de l'exception? –

+0

Quel est le nom d'hôte? 'HELO' est utilisé pour identifier l'expéditeur, et devrait fournir un nom d'hôte comme argument ... –

Répondre

0

Si ce n'est pas ramasser votre nom d'hôte local correctement, définissez la propriété mail.smtp.localhost à votre nom d'hôte.