VRaptor SimpleMail Enviar email em development/test

2 respostas
robertouba

Boa tarde,
estou tentando enviar e-mail com o Simplemail no ambiente de teste e development, até tentei especificar no environment o implementation a ser usado e mesmo assim não rolou.

host = localhost
mailer.implementation = br.com.caelum.vraptor.simplemail.DefaultMailer
vraptor.simplemail.send_real_email = true
vraptor.simplemail.main.server=smtp.gmail.com
vraptor.simplemail.main.port=587
vraptor.simplemail.main.tls=true
vraptor.simplemail.main.username=[email removido]
vraptor.simplemail.main.password=kaxjypjy
vraptor.simplemail.main.from=[email removido]
vraptor.simplemail.main.replyTo=[email removido]
vraptor.simplemail.main.from.name=Quimiflex | Sistemas para indústrias químicas

2 Respostas

guivirtuoso

Vou postar a maneira que fiz e rolou tudo ok aqui:

SendMailController.java

@Controller
@Path(SendMailController.ENDPOINT)
public class SendMailController {

	public static final String ENDPOINT = "/mail";
	
	private final Environment env;
    private final Mailer mailer;
    
    /**
     * Construtor utilizado apenas pelo CDI
     */
    public SendMailController() {
        this(null, null);
    }

    @Inject
	public SendMailController(Environment env, Mailer mailer) {
        this.env = env;
		this.mailer = mailer;
	}

	@Get("/send")
	public void send() throws EmailException {
		
		Email email = new SimpleEmail();
		email.addTo("[email removido]");
		email.setSubject("Assunto do Email");
		email.setMsg("Conteudo");
		mailer.send(email);
		
	}

}

environment.properties

vraptor.simplemail.main.server=smtp.email.com
vraptor.simplemail.main.port=587
vraptor.simplemail.main.tls=true
vraptor.simplemail.main.username=[email removido]
vraptor.simplemail.main.password=senha
vraptor.simplemail.main.from.name=Nome do Sender
vraptor.simplemail.main.from=[email removido]
vraptor.simplemail.main.replyTo=[email removido]

Testando desta forma ele já mockava o envio e printava no console.

Ai coloquei isto no meu web.xml

<context-param>
   <param-name>br.com.caelum.vraptor.environment</param-name>
   <param-value>production</param-value>
</context-param>

E tudo certo… ele entendeu que era o ambiente de produção e enviou o e-mail numa boa.

Espero ter ajudado.

Abs

robertouba

Valeu @guivirtuoso, como environment production, como você especificou ele funciona normalmente, contudo quando está em development ele utiliza o MockMail porém eu achei estranho porque especifiquei o DefaultMail. Por isso o envio não acontece!

Criado 14 de janeiro de 2016
Ultima resposta 14 de jan. de 2016
Respostas 2
Participantes 2