Не удается отправить электронное письмо с использованием Jboss EAP 7.0.0.Alpha1

Я пытался решить эту проблему много, и теперь, в крайнем случае, разместил ее здесь. Пожалуйста, помогите мне!

Проблема: я могу отправлять почту, вызывая класс из метода main. Когда я пытаюсь вызвать тот же класс из класса Struts2 Action, он не отправляет электронное письмо, а выдает ошибку ниже. Я использую Jboss EAP 7.0.0.Alpha1. Я думаю, что проблема может быть в конфигурации JBoss. Я также изменил файл Standalone-full.xml (заметьте, что я использую standalone-full.xml, а другие мои веб-компоненты работают нормально). Я запустил его в режиме отладки и увидел, что все значения заполняются. Когда мы запускаем его из класса действий struts2, оно не отправляет сообщение.

Изменения, внесенные в Standalone-full.xml:

<mail-session name="java:jboss/mail/Default" 
        from="somedummyuser@gmail.com" jndi-       
        name="java:jboss/mail/Default">

           <smtp-server password="******" username="somedummyuser" 
                 ssl="true" outbound-socket-binding-ref="mail-smtp"/>
        </mail-session>
    </subsystem>

     <outbound-socket-binding name="mail-smtp">
        <remote-destination host="smtp.gmail.com" port="465"/>
     </outbound-socket-binding>

Java-код:

  public class SendEmail {  

       private MailSender mailSender;

       public void setMailSender(MailSender mailSender) {  
       this.mailSender = mailSender;  
      }  

       public void sendMail(String from, String to, String subject, String   
       msg) 
       throws Exception,NamingException{  
      //creating message  
      SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); 
      simpleMailMessage.setFrom(from);  
      simpleMailMessage.setTo(to);  
      simpleMailMessage.setSubject(subject);  
      simpleMailMessage.setText(msg);  
      //sending message  
      System.out.println("SimpleMailMessage object:"+simpleMailMessage);
      mailSender.send(simpleMailMessage);     
    }  

 }

Класс с MainMethod, который выполняет приведенный выше код findE и успешно отправляет письмо:

public class MainMethod_SendEmail {

 public static void main(String[] args) throws Exception{  

    Resource r=new ClassPathResource("webApplicationContext.xml");  
    BeanFactory b=new XmlBeanFactory(r);  
    SendEmail m=(SendEmail)b.getBean("sendEmail");  

    String sender = AccessPropertiesUtil.getInstance().getProperty("from");
    String receiver = AccessPropertiesUtil.getInstance().getProperty("to");
    String subject =    
     AccessPropertiesUtil.getInstance().getProperty("subject");
    String message = 
    AccessPropertiesUtil.getInstance().getProperty("message");

    m.sendMail(sender, receiver, subject, message);

    System.out.println("success");  
    }  

}

Но тот же код отправки почты не выполняется из класса Struts2 Action: Struts2Action Class:

     public String execute()
    {
     emailSending();
    }

     private void emailSending() throws Exception
    {
        System.out.println("Sending Email");
        String sender = 
         AccessPropertiesUtil.getInstance().getProperty("from");
        String receiver = 
         AccessPropertiesUtil.getInstance().getProperty("to");
        String subject = 
         AccessPropertiesUtil.getInstance().getProperty("subject");
        String message = 
         AccessPropertiesUtil.getInstance().getProperty("message");

        sendEmail.sendMail(sender, receiver, subject, message);

        }




Error Trace:
     org.springframework.mail.MailSendException: Mail server connection 
    failed;     
    nested exception is javax.mail.MessagingException: Could not  
    connect to SMTP host: smtp.gmail.com, port: 465, response: -1. Failed 
    messages:   javax.mail.MessagingException: Could not connect to SMTP 
    host: smtp.gmail.com, port: 465, response: -1; message exception details 
    (1) are:
    2016-07-13 02:45:33 ERROR stderr:71 - Failed message 1:
    2016-07-13 02:45:33 ERROR stderr:71 - javax.mail.MessagingException: 
    Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1
    2016-07-13 02:45:33 ERROR stderr:71 -   at 
    com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2042)
    2016-07-13 02:45:33 ERROR stderr:71 -   at   
    com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:697)
    2016-07-13 02:45:33 ERROR stderr:71 -   at  
    javax.mail.Service.connect(Service.java:364)

0 ответов

Другие вопросы по тегам