2016-08-23 1 views
0

i une classe appelée "NotifiationService": @Service ("notificacionService") NotificacionServiceImpl public class implémente NotificacionService {JavaMail avec proxy ne se connecte pas

//servicio llama a repositorio 
@Autowired 
@Qualifier("notificacionService") 
private NotificacionService notificacionService; 

    @Override 
    public void send(String to, String subject, String text) { 

     //proxy 
     Properties p = System.getProperties(); 
     p.setProperty("proxySet","true"); 
     p.setProperty("socksProxyHost","MYPROXY"); 
     p.setProperty("socksProxyPort","MYPORT"); 

     Properties props = new Properties(); 

     // smtp.gmail.com 
     props.setProperty("mail.smtp.host", "smtp.gmail.com"); 

     // TLS 
     props.setProperty("mail.smtp.starttls.enable", "false"); 

     // port 
     props.setProperty("mail.smtp.port","465"); 

     // 
     props.setProperty("mail.smtp.user", "[email protected]"); 


     props.setProperty("mail.smtp.auth", "true"); 



     Session session = Session.getDefaultInstance(props); 
     session.setDebug(true); 

     MimeMessage message = new MimeMessage(session); 

     try { 

      message.setFrom(new InternetAddress("[email protected]")); 


      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 


      message.setSubject(subject); 
      message.setText(text); 

      // 
      Transport t = session.getTransport("smtp"); 
      t.connect("[email protected]","senderpassword"); 
      t.sendMessage(message,message.getAllRecipients()); 
      t.close(); 
     } catch (MessagingException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


    } 

Comme vous pouvez le voir, je l'ai essayé de configurer un proxy, puisque l'ordinateur est connecté à celui qui redirige le trafic. Ainsi, même en ajoutant toutes les spécifications sur le proxy, il ne cesse de me donner une erreur en disant:

com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 465; timeout -1; 
    nested exception is: 
    java.net.SocketException: Permission denied: connect 

J'ai aussi essayé différents ports comme: 25485587 et aucun des répondre, donc je pense que son problème avec le proxy.

Pour être en mesure de trouver les informations sur le proxy qui est implémenté j'ai tapé cette commande dans la console:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver" 

et il répond avec:

ProxyServer REG_SZ MYPROXY:MYPORT 

Si i type: " ping google.com "dans cmd, il est dit son inaccessible

Existe-t-il un moyen de pouvoir se connecter de java avec javamail à gmail et être en mesure d'envoyer un e-mail avec la configu ration?

Merci.

Répondre

0

Si cela ne fonctionne pas après avoir défini les propriétés SOCKS, il est probable que votre serveur proxy ne soit qu'un serveur proxy Web et non un serveur proxy SOCKS. Le JavaMail FAQ a des pointeurs vers d'autres logiciels qui permettront de mettre en tunnel des connexions via un serveur proxy web.