2016-03-23 13 views
0

Yerel sunucumda çalışırken, web uygulamam e-posta gönderebiliyor, ancak uzak ana makineye dağıttığımda bunu yapamaz. Neleri kontrol etmeliyim?Mail localhost'tan gönderilmiş ancak çevrim içi sunucusundan gönderilemiyor

Bunun bir Java sorunu olmayabileceğini biliyorum, ancak birilerinin bunu çözebileceğini umuyoruz. o duvarı kural mı blokları size olmasıdır

public void send() { 
     new Thread(new Runnable() { 

      @Override 
      public void run() { 
       Properties props = System.getProperties(); 
       props.put("mail.smtp.host", "103.20.XXX.XXX"); 
       props.put("mail.smtp.auth", "true"); 
       props.put("mail.smtp.port", "25"); 

       Session mailSession = Session.getDefaultInstance(props, null); 
       //mailSession.setDebug(true); 

       try { 
        Message mailMessage = new MimeMessage(mailSession); 
        mailMessage.setFrom(new InternetAddress(msgFrom, username)); 
        mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(msgTo)); 
        mailMessage.setSubject(msgSubject); 
        mailMessage.setContent(msgBody, "text/html; charset=utf-8"); 
        Transport transport = mailSession.getTransport("smtp"); 
        transport.connect("103.20.XXX.XXX", username, password); 
        transport.sendMessage(mailMessage, mailMessage.getAllRecipients()); 
        transport.close(); 

       } catch (MessagingException | UnsupportedEncodingException e) { 
        e.printStackTrace(); 
       } 
      } 
     }).start(); 
    } 
+0

Paylaşım günlükleri izlemesi –

+0

Güvenlik duvarınızı denetleyin – SpringLearner

+0

Sorun, güvenlik duvarı/erişim ile ilgili olabilir gibi görünüyor. SMTP sunucunuza uzak ana bilgisayardan 25 numaralı bağlantı noktasında (terminal/ssh erişiminiz varsa) telnet göndermeyi deneyebilirsiniz. Uzak ana makineniz de bir bağımlılığı eksik olabilir. Darkl Knight'ın da dediği gibi, lütfen günlük kaydını da paylaşın. – Henkealg

cevap

0

sen noktası 25 Büyük olasılıkla üzerinde SMTP sunucusunun ip uzaktan ana bilgisayardan sahip olduklarından emin olmak: Teşekkür

Aşağıda

kodudur.

Bunu doğrulamak için, genellikle uzak ana bilgisayara terminali ile bağlantı ve benzeri bir hata alırsanız

telnet <ip> <port> 

çalıştırın:

telnet: connect to address 127.0.0.1: Connection refused 
telnet: Unable to connect to remote host 

Kesinlikle bir bağlantı konudur.