La API de Javamail define una clase Java.mail.Transport, que se usa específicamente para realizar tareas de envío de correo. El objeto de instancia de esta clase encapsula los detalles de implementación subyacentes de un determinado protocolo de envío de correo. La aplicación llama a los métodos de esta clase para enviar los datos de correo encapsulado en el objeto de mensaje al servidor SMTP especificado. La relación de trabajo entre las API principales diseñadas para enviar correo usando Javamail es la siguiente:
1. Obtenga un objeto de transporte que implementa un determinado protocolo de envío de correo electrónico del objeto de sesión;
2. Use el objeto de sesión para crear un objeto de mensaje y llamar al método del objeto de mensaje para encapsular los datos de correo electrónico;
3. Conéctese al servidor SMTP especificado y llame al método de envío de correo en el objeto de transporte para encapsular los datos de correo en el objeto de mensaje.
En el segundo artículo sobre la creación de correos electrónicos en Javamail, aprendimos a crear correos electrónicos, pero en ese momento escribimos los correos electrónicos a nuestro disco local. A continuación, utilizamos la clase de transporte proporcionada por la API de Javamail para enviar correos electrónicos.
import java.util.date; import java.util.properties; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetaddress; import javax.mail.Mail.internet.mimemessage; public class Sendtextmail {Public static void Main (importar Javax.mail.mail.Mail lanza excepción {String from = "[email protected]"; Cadena a = "[email protected]"; String SUMPLAY = "Test"; String body = "test !!!"; Cadena smtphost = "smtp.qq.com"; Propiedades Props = New Properties (); propsssetProperty ("mail.transport.protocol", "smtp"); // Protocolo utilizado (requerido por la especificación de Javamail) Props.SetProperty ("mail.smtp.host", smtphost); // La dirección del servidor SMTP del buzón del remitente es props.setProperty ("mail.smtp.auth", "verdadero"); // Solicitar autenticación, el nombre del parámetro está relacionado con la implementación específica // Crear sesión de objeto de instancia de sesión Sesión = sesión.getDefaultInstance (Props); // crear mimemessage instancia objeto mimemessage mensaje = new mimemessage (sesión); // establecer mensaje del remitente.setFrom (nuevo Internetaddress (desde)); // Establecer el destinatario Message.SetRecipients (Message.recipientType.to, Internetaddress.parse (a)); // establecer el mensaje de envío de fecha.setsentDate (nueva fecha ()); // Establecer un correo electrónico Message.setSubject (asunto); // Establecer el cuerpo de correo electrónico Message.settext (cuerpo); // establecer contenido de texto plano Message.setText (Body); // Guardar y generar el contenido final del correo electrónico Message.saveChanges (); // Establecer en modo de depuración, puede ver el registro de envío detallado.setDebug (true); // Obtener el objeto de transporte Transport Transport = session.getTransport ("SMTP"); // El segundo parámetro debe completarse en el código de autorización SMTP del buzón QQ. ¿Cuál es el código de autorización y cómo se establece? transport.connect (de "******************"); // Enviar, Message.getallRecipients () obtiene todos los destinatarios agregados al crear el objeto de correo, cc, y enviar mensaje (mensaje, mensaje.getallRecipients ()); transport.close (); }}Nota: El servicio SMTP debe habilitarse para la cuenta de correo electrónico.
El envío de códigos de correo complejos con recursos o archivos adjuntos integrados es similar a los del segundo artículo en Javamail para crear correos electrónicos, excepto que los pasos para escribir en el disco duro se reemplazan por las líneas 42-47 en el código anterior.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.