sexta-feira, 29 de junho de 2007

PortalJavaSupport : Mail : v 1.0

relembrando o post no qual falei sobre o suporte de envio de email que o Mentawai possui, resolvi portar ele para dentro do projeto de suporte PortalJavaSupport, para que fosse possível utiliza-lo em qualquer outra aplicação web utilizando qualquer outro framework MVC java de sua preferência...

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]