Tomando un proyecto web como ejemplo, el código se puede trasplantar.
Primero, importe el paquete mail.jar y luego cree su propia clase.
1: clase HTMLSender
Copie el código de código de la siguiente manera:
paquete com.txq.mail;
importar java.util.Properties;
importar javax.mail.Mensaje;
importar javax.mail.MessagingException;
importar javax.mail.NoSuchProviderException;
importar javax.mail.Session;
importar javax.mail.Transport;
importar javax.mail.internet.AddressException;
importar javax.mail.internet.InternetAddress;
importar javax.mail.internet.MimeMessage;
importar javax.mail.internet.MimeMultipart;
importar javax.mail.internet.MimeUtility;
/**
*
* @autor Administrador
*
*/
HTMLSender de clase pública {
mensaje privado MimeMessage;
accesorios de propiedades privadas;
sesión de sesión privada;
nombre de cadena privada = "";
contraseña de cadena privada = "";
HTMLSender público (host de cadena, nombre de cadena, contraseña de cadena)
{
this.nombre = nombre;
this.contraseña = contraseña;
accesorios = System.getProperties();
props.put("correo.smtp.host", anfitrión);
props.put("mail.smtp.auth","true");
autenticación MyAuthenticator = new MyAuthenticator(nombre,contraseña);
sesión = Session.getDefaultInstance(props,auth);
mensaje = nuevo MimeMessage(sesión);
nuevo MimeMultipart();
}
setFrom vacío público (Cadena de)
{
intentar
{
message.setFrom(nueva dirección de Internet(de));
}
captura (AddressException e)
{
e.printStackTrace();
}
captura (MessagingException e)
{
e.printStackTrace();
}
}
conjunto vacío público a (cadena a)
{
intentar
{
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
}
capturar(AddressException e)
{
e.printStackTrace();
}
captura (Excepción de mensajería e)
{
e.printStackTrace();
}
}
setSubject público vacío (asunto de cadena)
{
intentar
{
mensaje.setSubject(asunto);
}
captura (Excepción e)
{
e.printStackTrace();
}
}
setContect público vacío (contenido de cadena)
{
intentar
{
mensaje.setContent(contenido,"text/html;charset=utf-8");
}
captura (Excepción e)
{
e.printStackTrace();
}
}
envío booleano público()
{
intentar
{
Transporte transporte = session.getTransport("smtp");
transport.connect((String)props.get("mail.smtp.host"),nombre,contraseña);
transporte.sendMessage(mensaje, mensaje.getRecipients(Message.RecipientType.TO));
transporte.close();
devolver verdadero;
}
captura (NoSuchProviderException e)
{
e.printStackTrace();
devolver falso;
}
captura (Excepción de mensajería e)
{
e.printStackTrace();
devolver falso;
}
}
}
2: clase MyAuthenticator
Copie el código de código de la siguiente manera:
paquete com.txq.mail;
importar javax.mail.Authenticator;
importar javax.mail.PasswordAuthentication;
la clase pública MyAuthenticator extiende el Autenticador{
Nombre de cadena;
Contraseña de cadena;
público MyAuthenticator (nombre de cadena, contraseña de cadena)
{
this.nombre = nombre;
this.contraseña = contraseña;
getPasswordAuthentication();
}
autenticación de contraseña protegida getPasswordAuthentication()
{
devolver nueva ContraseñaAuthentication(nombre,contraseña);
}
}
3: clase MailAction
Copie el código de código de la siguiente manera:
paquete com.txq.action;
importar java.io.PrintWriter;
importar com.opensymphony.xwork2.ActionSupport;
importar com.txq.mail.HTMLSender;
clase pública MailAction extiende ActionSupport {
correo electrónico de cadena privada;
Cadena pública enviar correo electrónico(){
//Agente anfitrión-Sina
Host de cadena = "smtp.sina.cn";
//Cuenta-Cuenta Sina
Nombre de cadena = "followmusic";
//Contraseña-contraseña de Sina
Contraseña de cadena = "followmusic";
//Crea un objeto de correo electrónico
Correo HTMLSender = nuevo HTMLSender (host, nombre, contraseña);
//Cuenta de envío
mail.setFrom("[email protected]");
//cuenta de correo
mail.setTo("[email protected]");
//Asunto del correo electrónico
mail.setSubject("Interés Tao");
//Contenido del correo electrónico
mail.setContect("Tu amigo te invita a venir y buscar intereses~");
si(correo.enviar())
{
devolver ÉXITO;
}
demás
{
devolver "error";
}
}
cadena pública getEmail() {
devolver el correo electrónico;
}
setEmail público vacío (cadena de correo electrónico) {
this.email = correo electrónico;
}
}