PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Envio Email JSF #528474

12/08/2015

0

Olá a todos estou tentando disparar um e-mail através de um formulário.
Tenho esse ManagedBean abaixo onde tenho um método que dispara um e-mail. Quando faço no Java Puro instanciando a classe e chamando o método o e-mail é disparado normalmente, mas quando chama o método pelo commandButton o e-mail não é enviado e simplesmente não acontece nada.
Algum poderia me ajudar.


<h:form>
            <h:panelGrid>
                <h:outputLabel for="name" value="Name"/>
                <p:inputText id="name" required="true" value="#{contactMB.contact.name}"/>
                 <h:outputLabel for="email" value="Email"/>
                 <p:inputText id="email" required="true" value="#{contactMB.contact.email}"/>
                 <h:outputLabel for="message" value="Your Message"/>
                 <p:inputTextarea rows="6" cols="33" value="#{contactMB.contact.message}"/>
                 <p:commandButton value="Submit" action="#{contactMB.sendEmail}"/>
            </h:panelGrid>
        </h:form>


@ManagedBean
public class ContactMB {
    
    private Contact contact = new Contact();
    
    
    /**
     * @return the contact
     */
    public Contact getContact() {
        return contact;
    }

    /**
     * @param contact the contact to set
     */
    public void setContact(Contact contact) {
        this.contact = contact;
    }
    
    private EntityManager getManager() {
        
        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ec = fc.getExternalContext();
        HttpServletRequest request = (HttpServletRequest) ec.getRequest();
        return (EntityManager) request.getAttribute("EntityManager");
    }
    
    public void getSendEmail() {
                
        final String username = "paulo@digitalset.gt";
        final String password = "minhasenha";
        
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");
        
        Session session = Session.getInstance(props,
		  new javax.mail.Authenticator() {
                        @Override
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(username, password);
			}
        });
        
        try{
            
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("paulo@digitalset.gt"));
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("paulo@digitalset.gt"));
            message.setSubject("TESTE");
            message.setText("TESTE TESTE TESTE");
            
            Transport.send(message);
            
            System.out.println("Done");
        }
        catch(MessagingException e){
            throw new RuntimeException(e);
        }
    }
}
Paulo Henrique

Paulo Henrique

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar