Cómo enviar varios correos electrónicos usando jmail
El programa principal para enviar correos electrónicos import java.util.Properties;
import common.util.Email_Autherticatorbean
import javax.mail.Authenticator
p >
importar javax.mail.internet.InternetAddress;
importar org.apache.commons.lang.StringUtils
importar javax.mail.internet.MimeBodyPart; p >
importar javax.mail.Multipart;
importar javax.activation.FileDataSource
importar javax.mail.internet.MimeMultipart; javax .activation.DataHandler;
importar javax.mail.internet.MimeUtility;
importar java.util.Date; /**
* Usar java. mail Programa de envío de correo
*/ public class SendMailTest
{
public static void main(String[] args)
{
String title = "titleTest";//El título del correo electrónico enviado
String from="sir_znp@163.com";//Enviado desde allí
String sendTo[] = {"znp@163.net","sir_znp@163.com"};//Envíalo allí
//El contenido de texto del correo electrónico puede contener etiquetas html y se mostrará como página html
Contenido de cadena = "prueba de correo!!!!!!
aaa"
// Archivos adjuntos incluidos y cambio de nombre de los archivos adjuntos
String fileNames[] = {"F:\\music\\text1.txt,text1.txt","F:\\music\\text2.txt,text2 .txt "};
prueba {
// MailSender mailsender = new MailSender();
sendmail(título, de, enviar a, contenido, nombres de archivo, "text /html;charset=gb2312");
} catch (Excepción ex) { ex.printStackTrace();
} envío de correo vacío estático público (Asunto de cadena, Cadena de , String [] a, String text, String[] nombres de archivos,String mimeType) arroja una excepción
{
//ResourceBundle mailProps = ResourceBundle.
getBundle("mail"); Puede leer los parámetros correspondientes desde el archivo de configuración
Properties props = new Properties(); String smtp = "smtp.163.com" //Establezca los parámetros utilizados para enviar correos electrónicos smtp
String servername = "sir_znp";
String serverpaswd = "123"; javax.mail.Session mailSession //Objeto de sesión de correo
javax.mail.internet.MimeMessage mimeMsg; //Objeto de correo MIME props = java.lang.System.getProperties(); //Obtener objeto de propiedades del sistema
props.put("mail.smtp.host" , smtp ); //Configurar el host SMTP
props.put("mail.smtp.auth", "true"); //Si se debe verificar el nombre de usuario y la contraseña del servidor
//Para El servidor verifica si el nombre de usuario y la contraseña enviados son correctos
Email_Autherticatorbean myEmailAuther = new Email_Autherticatorbean(servername, serverpaswd
//Configurar la sesión de correo electrónico
mailSession = javax. mail.Session.getInstance(props, (Authenticator) myEmailAuther);
//Establecer el protocolo de transporte
javax.mail.Transport transport = mailSession .getTransport("smtp");
//Establecer desde, hacia y otra información
mimeMsg = new javax.mail.internet.MimeMessage(mailSession
<); p>if (!StringUtils.isEmpty(from )){
Dirección de Internet enviada desde = nueva Dirección de Internet (de);
mimeMsg.setFrom(enviada desde); //Establece la dirección del remitente
} InternetAddress[] sendTo = new InternetAddress[to.length]
for (int i = 0; i < to.length; i++)
{
System.out.println("Enviar a:" + a[i]);
enviar a[i] = nueva dirección de Internet(a[i]); ]);
} mimeMsg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo);
mimeMsg.setSubject(asunto, "gb2312"); = nuevo MimeBodyPart();
//messageBodyPart.setText(UnicodeToChinese(texto));
messageBodyPart1.setContent(text, mimeType); Multipart multipart = new MimeMultipart();//Formato de transferencia de archivos adjuntos
multipart.addBodyPart(messageBodyPart1 for (int i = 0; i < filenames.length; i++); ) {
MimeBodyPart messageBodyPart2 = new MimeBodyPart();
//Seleccione el nombre de cada archivo adjunto
String filename = filenames[i].split(" ," )[0];
System.out.println("Nombre del archivo adjunto: " + nombre de archivo);
String displayname = nombres de archivo[i].split(",") [1 ];
//Obtener la fuente de datos
FileDataSource fds = new FileDataSource(filename);
//Obtener el archivo adjunto y fusionarlo en BodyPart; p>
messageBodyPart2.setDataHandler(new DataHandler(fds));
//Obtenga el nombre del archivo e ingrese BodyPart
//messageBodyPart2.setFileName(displayname)
p>
// messageBodyPart2.setFileName(fds.getName());
messageBodyPart2.setFileName(MimeUtility.encodeText(displayname)); p>multipart.addBodyPart(messageBodyPart2)
}
mimeMsg.setContent(multipart);
//Establecer la fecha de envío del encabezado de la carta p>
mimeMsg.setSentDate(new Date());
mimeMsg.saveChanges();
//Enviar correo electrónico
transport.send( mimeMsg);
transport.close();
} } Clase de autenticación
paquete common.util
importar javax.mail; .Authenticator;
import javax.mail.PasswordAuthentication;
clase pública Email_Autherticatorbean extiende el autenticador
{
cadena privada m_username = null;
cadena privada m_userpass = null; setUsername público void(nombre de usuario de cadena)
{
m_username = nombre de usuario
} setUserpass público void; (Cadena contraseña de usuario)
{
m_userpass =
contraseña de usuario;
} public Email_Autherticatorbean(nombre de usuario de cadena, contraseña de usuario de cadena)
{
super();
setUserpass(userpass); }
public PasswordAuthentication getPasswordAuthentication()
{ return new PasswordAuthentication(m_username,m_userpass
}
} Referencia fuente detallada: /article/15323.htm