2016-08-23 5 views
0

난이 "NotifiationService"이라고 클래스 : @Service ("notificacionService") 공용 클래스 NotificacionServiceImpl이 NotificacionService를 구현 {JavaMail에

//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(); 
     } 


    } 

당신은 내가 구성 시도 볼 수 있듯이 프록시는 컴퓨터가 트래픽을 리디렉션하는 프록시에 연결되어 있기 때문에 그래서 심지어 프록시에 대한 모든 사양을 추가 그것은 나에게 말하는 오류를주고 계속 :

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 

나는 또한 같은 다른 포트를 시도 : 25,485,587와 응답의 것도, 그래서 프록시와의 문제를 생각하지 않습니다.

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

하고 응답 :

것은 내가 콘솔에서이 명령을 입력 한 구현되는 프록시에 대한 정보를 찾을 수 있으려면

ProxyServer REG_SZ MYPROXY:MYPORT 

내가 입력하면 " ping google.com "에 액세스 할 수 없다고 말합니다.

javamail을 사용하여 Java에서 gmail에 연결할 수 있고 현재 configu로 이메일을 보낼 수있는 방법이 있습니까? 정액?

감사합니다.

답변

0

SOCKS 속성을 설정 한 후에 작동하지 않는 경우 프록시 서버는 SOCKS 프록시 서버가 아닌 웹 프록시 서버 일 가능성이 큽니다. JavaMail FAQ에는 웹 프록시 서버를 통한 연결을 터널링 할 수있는 다른 소프트웨어에 대한 포인터가 있습니다.