Email usando Spring e GMail
Aqui um exemplo simples de como enviar email usando Spring Framework e uma conta do GMail. O método todo é muito fácil.
Primeiro mapeamos o nosso beans no Spring, vejamos:
Nosso mail sender:
<bean id=”mailSender” class=”org.springframework.mail.javamail.JavaMailSenderImpl”>
<property name=”host” value=”smtp.gmail.com” />
<property name=”port” value=”465″ />
<property name=”protocol” value=”smtps” />
<property name=”username” value=”seuemail@gmail.com” />
<property name=”password” value=”suasenha” />
<property name=”javaMailProperties”>
<props>
<prop key=”mail.smtps.auth”>true</prop>
<prop key=”mail.smtps.starttls.enable”>true</prop>
<prop key=”mail.smtps.debug”>true</prop>
</props>
</property>
</bean>
Aqui nossa mail message:
<bean id=”templateMessage” class=”org.springframework.mail.SimpleMailMessage”>
<property name=”from” value=”seuemail@gmail.com” />
<property name=”subject” value=”Enviado com Spring!” />
</bean>
E é claro, o nosso bean que vai enviar de fato o email. Injetamos nele o nosso mail sender e nossa mail message:
<bean name=”sendMail” class=”com.mymail.SendMail”>
<property name=”mailSender” ref=”mailSender” />
<property name=”templateMessage” ref=”templateMessage” />
</bean>
Aqui o código no bean, como ficaria:
public class SendMail{
private MailSender mailSender;
private SimpleMailMessage templateMessage;public void sendEmail(){
try{
// criamos uma copia “thread safe” e customizamos:
SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
msg.setTo(”emaildestino@email.com”);
msg.setText(”email enviado usando spring framework e gmail!”);}catch(Exception e){
e.printStackTrace();
}
E pronto! ao executar o método, você terá a mensagem enviada e na sua caixa de saída do GMail a mensagem enviada pela sua aplicação.
Aqui uma nota importante: cuidado ao utilizar contas do GMail em aplicações web para o envio de grandes quantidades de email. O GMail tem um política agressiva de filtros de Spam, e em pouquíssimo tempo sua conta será considerada spammer e desativada.
Espero ter ajudado!