nota: Reutilização de classes para envio de email, também utilizada no Mentawai Framework MVC
obs.: o jar disponível foi compilado com o java 5
download: [projeto|código] [jar]
definição do pacote: com.portaljava.support.mail
dependências: ( estão dentro do diretório lib do projeto )
- activation.jar
- mail.jar
- velocity-dep-1.4.jar
- servlet-api.jar ( aponte para ${tomcat}/common/lib )
configuração do servlet:
<servlet>
<servlet-name>EmailServletConfig</servlet-name>
<servlet-class>com.portaljava.support.mail.config.servlet.EmailSenderConfig</servlet-class>
<!-- caso o nome do properties for diferente deste [ o diretório inicial considerado é /WEB-INF/classes ]
<init-param>
<param-name>config</param-name>
<param-value>email.properties</param-value>
</init-param> -->
<load-on-startup>1</load-on-startup>
</servlet>
chaves de configuração do arquivo properties: ( default: email.properties, em /WEB-INF/classes )
# definição das informações referentes ao servidor em si
smtp.server=
smtp.port= # caso não informado assume que é a porta padrão
smtp.ssl= # caso não informado assume que é uma conexão não criptografada
# usuário e senha para autentificação no servidor
smtp.authentication= # caso seja um SMTP que seja autentificado
smtp.user=
smtp.password=
# definição do email que será definido como default sender
smtp.sender.mail=
smtp.sender.label=
exemplo de configuração para utilizar o SMTP do Gmail:
# definição das informações referentes ao servidor em si
smtp.server=smtp.gmail.com
smtp.port=465
smtp.ssl=true
# usuário e senha para autentificação no servidor
smtp.authentication=true
smtp.user=login@gmail.com
smtp.password=login.password
# definição do email que será definido como default sender
smtp.sender.mail=login@gmail.com
smtp.sender.label=Login
para enviar um email simples
try {
SimpleEmail email = new SimpleEmail();
email.addTo("login@gmail.com", "Login");
email.setSubject("Testing...");
email.setMsg("Hi,\n\nBye!");
email.send();
} catch(Exception e) {
e.printStackTrace();
}
para enviar um email utilizando um template:
try {
Letter letter = new VelocityLetter("Template.html");
letter.setAttribute("name", "Nome");
letter.setAttribute("age", "22");
String msg = letter.getText();
HtmlEmail email = new HtmlEmail();
email.addTo("login@host.dom", "Login");
email.setSubject("Testing...");
email.setHtmlMsg(msg);
email.send();
} catch(Exception e) {
e.printStackTrace();
}
download: [projeto|código] [jar]