Problema com envio de email no JBOSS

2 respostas
R

Caros,
estou fazendo envio de email com o JBOSS,mas estou tendo o seguinte erro:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

Esse é meu arquivo mail-service.xml:

<?xml version="1.0" ?> 
 <server>
 <mbean code="org.jboss.mail.MailService" name="jboss:service=MailSession">
  <attribute name="JNDIName">java:/Mail</attribute> 
  <attribute name="User">[email removido]</attribute> 
  <!--<attribute name="Password"></attribute>--> 
 <attribute name="Configuration">
 <configuration>
  <property name="mail.transport.protocol" value="smtp" /> 
  <property name="mail.smtp.user" value="[email removido]" /> 
  <!--<property name="mail.smtp.password" value="" />--> 
  <property name="mail.smtp.starttls.enable" value="true" /> 
  <property name="mail.smtp.auth" value="false" /> 
  <property name="mail.smtp.host" value="ipDoServidor" /> 
  <property name="mail.smtp.port" value="110" /> 
  <property name="mail.debug" value="true" /> 
  <property name="mail.from" value="[email removido]" /> 
  <property name="mail.smtp.socketFactory.class" value="javax.net.ssl.SSLSocketFactory" /> 
  <property name="mail.smtp.socketFactory.port" value="110" /> 
  </configuration>
  </attribute>
  </mbean>
  </server>

Alguem consegue indicar onde estou errando?
Grato.

2 Respostas

E

Use isto aqui apenas para algum servidor de email que requer STARTTLS, como o Gmail. Servidores de email corporativos normalmente não requerem isso.

Dica: configure corretamente algum cliente de email na máquina que vai enviar os emails (a que tem o JBoss) e pegue as configurações necessárias.
Então, aprenda como mapear as configurações do seu cliente de email para as configurações que você deve usar no mail-service.xml.
Olhe a documentação para ver o que deve ser feito.

F
estou com o mesmo problema aqui ,tentando enviar um email pelo host KINGHOST, e nada.segue a exception e o codigo abaixo para algum mestre gujeiro me ajudar..
javax.faces.el.EvaluationException: javax.mail.MessagingException: Could not connect to SMTP host: smtp.webdiferente.com.br, port: 587;
  nested exception is:
	javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.webdiferente.com.br, port: 587;
  nested exception is:
	javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
	at javax.mail.Service.connect(Service.java:295)
	at javax.mail.Service.connect(Service.java:176)
	at testeEmail.controle.controlaEmail.enviarEmail(controlaEmail.java:88)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	... 27 more
Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
	at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523)
	at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
	at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:507)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
	... 39 more
segue minha classe
package testeEmail.controle;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "emails")
@SessionScoped
public class controlaEmail {
    private String nome;
    private String email;
    private String assunto;
    private String mensagem;

    public controlaEmail() {
    }
//GETS E SETERES

    public String getAssunto() {
        return assunto;
    }

    public void setAssunto(String assunto) {
        this.assunto = assunto;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String enviarEmail() throws AddressException, MessagingException {

        Properties props = System.getProperties();
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.dominio.com.br");
        props.put("mail.smtp.auth", "true");
        props.put("mail.debug", "true");
        props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.socketFactory.port", "587");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
        props.put("mail.mime.charset", "ISO-8859-1");

        Session session = Session.getDefaultInstance(props);//recebe props

        InternetAddress destinatario = new InternetAddress("emaildestinatario");

        InternetAddress remetente = new InternetAddress(email);

        Message msg = new MimeMessage(session);
        msg.setSentDate(new Date());//novo
        msg.setFrom(remetente);
        msg.setRecipient(Message.RecipientType.TO, destinatario);
        msg.setSubject(assunto);
        msg.setContent(mensagem, "text/HTML");

        Transport transport = session.getTransport("smtp");
        transport.connect("smtp.dominio.com.br", "[email removido]", "senha");
        msg.saveChanges();
        transport.sendMessage(msg, msg.getAllRecipients());
        transport.close();

        zera();

        FacesMessage ms = new FacesMessage();
        ms.setSeverity(FacesMessage.SEVERITY_FATAL);
        ms.setDetail("Mensagem Enviada com sucesso. Em breve entraremos em contato!");
        ms.setSummary("Mensagem Enviada com sucesso. Em breve entraremos em contato!");
        FacesContext.getCurrentInstance().addMessage(null, ms);
        return "";

    }

    private void zera() {
        nome = "";
        email = "";
        assunto = "";
        mensagem = "";
    }
}
Criado 6 de julho de 2010
Ultima resposta 15 de ago. de 2011
Respostas 2
Participantes 3