Enviar Formulario de contato para email usando Struts

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");