Foros del Web » Programación para mayores de 30 ;) » Java »

Enviar mails en Java??

Estas en el tema de Enviar mails en Java?? en el foro de Java en Foros del Web. Hola, estoy trabajando en una aplicación web en java con jsp y me haría falta saber cómo puedo enviar mails desde mi aplicación, la parte ...
  #1 (permalink)  
Antiguo 10/09/2008, 12:05
Avatar de ersocio  
Fecha de Ingreso: marzo-2006
Mensajes: 46
Antigüedad: 18 años, 1 mes
Puntos: 0
Enviar mails en Java??

Hola, estoy trabajando en una aplicación web en java con jsp y me haría falta saber cómo puedo enviar mails desde mi aplicación, la parte que más me interesa es el código que iría en el JSP ya que he podido encontrar algo para hacer la clase en Java con los métodos y demás, os lo dejo por aquí por si os sirve de ayuda.
Muchas gracias.

Código:
package com.jaac.utilidad;

import java.io.FileInputStream;
import java.util.Properties;

import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;


/**
 * @author JAAC
 *
 */
public class EnvioCorreo {

final static String CONFIG_FILE = "mail.props";
static String sServidorCorreo;
static String sCorreoOrigen;
static String[] asCorreoDestino;

    /**
     * Método para inicializar los valores del seridor de correo,
     * se cargan desde un fichero de configuración con los siguientes valores:
     * app.servidorCorreo=smtp.xxxx
     * [email protected]
     * [email protected],[email protected],...,[email protected]
     */
public static void init () {
    try
    {
        Properties props = new Properties();
        props.load( new FileInputStream( CONFIG_FILE ) );
       
        sServidorCorreo = props.getProperty( "app.servidorCorreo" );
        sCorreoOrigen = props.getProperty( "app.correoOrigen" );
        String sTmp = props.getProperty( "app.correoDestino" );
        String[] asTmp = null;
        if( sTmp.indexOf( "," ) != 1 ) {
            asTmp = sTmp.split( "," );
        }
        else
        {
            asTmp = new String[1];
            asTmp[0] = sTmp;
        }
        asCorreoDestino = asTmp;
    }
    catch( Exception ex )
    {
        System.out.println( "No hay información de arranque!!" );
        System.exit( -2 );
    }

}

    /**
     * Método público y estático que envía un correo a las direcciones
     * indicadas en el fichero de propiedades, desde la dirección indicada
     * también en el mismo fichero con el asunto y el contenido que se pasan
     * como parámetros.
     * 
     * @param sAsunto String
     * @param sTexto String
     * @return boolean
     */
public static boolean enviarEmail( String sAsunto, String sTexto )
{
    try
    {
        Properties props = new Properties();
        props.put("mail.smtp.host", sServidorCorreo );
        Session mailSesion = Session.getDefaultInstance(props, null);

        Message msg = new MimeMessage(mailSesion);
   
        msg.setFrom ( new InternetAddress( sCorreoOrigen ) );
        msg.setSubject ( sAsunto );
        msg.setSentDate ( new java.util.Date() );
        msg.setText ( sTexto );

        InternetAddress address[] = new InternetAddress[asCorreoDestino.length];
        for( int i = 0; i <> asCorreoDestino.length; i++ ) {
            address[i] = new InternetAddress ( asCorreoDestino[i] );
        }         
           
        msg.setRecipients (Message.RecipientType.TO, address);
                           
        Transport.send(msg);
      }
      catch( MessagingException e )
      {
          return false ;
      }
   
      return true ;
  }

}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:05.