Estou precisando enviar um formulario de contato para um email utilizando Struts!
Fiz o modelo (para os campos do formulário) e o form mas não sei o que colocar na Action! Ja tentei vários códigos mas não cheguei nem perto!
Alguém pode me ajudar?
Estou precisando enviar um formulario de contato para um email utilizando Struts!
Fiz o modelo (para os campos do formulário) e o form mas não sei o que colocar na Action! Ja tentei vários códigos mas não cheguei nem perto!
Alguém pode me ajudar?
usa a api java.mail e implemente a lógica de envio no seu submit passando os dados para o form e montando uma mensagem!
Eu tentei fazer mas esta dando o erro:
javax.mail.SendFailedException: Sending failed;
Aqui está o código da Action:
@Override
public ActionForward execute(ActionMapping map, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
String menssagem = null;
String corpo;
try{
EmailForm formulario = (EmailForm)form;
Email email = formulario.getEmail();
String newsletter = "";
System.out.println("Newsletter = " + email.getNewsletter());
if(email.getNewsletter() == true){
newsletter = "Desejo receber Newsletter.";
}
corpo = "Nome: " + email.getNome() + "\n";
corpo += "Empresa: " + email.getEmpresa() + "\n";
corpo += "Endereço: " + email.getEndereco() + "\n";
corpo += "Cidade: " + email.getCidade() + "\n";
corpo += "Estado: " + email.getEstado() + "\n";
corpo += "CEP: " + email.getCep() + "\n";
corpo += "Email: " + email.getEmail() + "\n";
corpo += "Telefone: " + email.getTelefone() + "\n" + newsletter;
corpo += "\n\n" + email.getMenssagem() + "\n";
Properties props = new Properties();
props.put("mail.host", "meudominio.com.br");
props.put("mail.smtp.host", "smtp.meudominio.com.br");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "25");
Session s = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(s);
InternetAddress from = new InternetAddress(email.getEmail());
message.setFrom(from);
String toAddress = "meudominio@meudominio.com.br";
InternetAddress to = new InternetAddress(toAddress);
message.addRecipient(MimeMessage.RecipientType.TO, to);
message.setSubject("Contato/Site");
message.setContent(corpo,"text/html");
Transport transport = s.getTransport("smtp");
transport.connect("smtp.meudominio.com.br", "meudominio@meudominio.com.br", "minhasenha");
Transport.send(message);
}catch(Exception e){
menssagem = "O email não pode ser enviado";
request.setAttribute("menssagem", menssagem);
System.out.println("\n\n\nerro = " + e.toString());
ActionErrors err = new ActionErrors();
err.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage(e.getMessage()));
saveErrors(request,err);
e.printStackTrace();
return map.findForward("erro");
}
return map.findForward("ok");