1. Dependencias:
Deberá agregar la dependencia de Javamail a su proyecto. Si está usando Maven, agregue esto a su `pom.xml`:
`` `XML
`` `` ``
Si está usando Gradle, agregue esto a su `build.gradle`:
`` `Gradle
Implementación 'com.sun.mail:javax.mail:1.6.2'
`` `` ``
2. Ejemplo de código:
`` `Java
import javax.mail.*;
import javax.mail.internet.*;
import java.util.properties;
clase pública sendemail {
public static void main (string [] args) {
// ID de correo electrónico del destinatario
Cadena a ="[email protected]";
// ID de correo electrónico y contraseña del remitente
Cadena de ="[email protected]";
String Password ="Your_Password";
// Asunto del correo electrónico
String SUMPORT ="Test Correo electrónico de Java";
// cuerpo del correo electrónico
String Message ="Este es un correo electrónico de prueba enviado desde Java.";
// Configuración de propiedades
Propiedades Props =New Properties ();
props.put ("mail.smtp.host", "smtp.example.com"); // reemplazar con su servidor SMTP
propssput ("mail.smtp.port", "587"); // Reemplace con su puerto SMTP (a menudo 587 o 465)
propssput ("mail.smtp.auth", "verdadero"); // Habilitar autenticación
props.put ("mail.smtp.starttls.enable", "true"); // Habilitar el cifrado TLS
// crear un objeto de sesión
Sesión session =session.getInstance (props, new javax.mail.authenticator () {
protegido PassionAuthentication getPasswordAuthentication () {
devolver una nueva contraseña Authentication (desde, contraseña);
}
});
intentar {
// Crear un objeto MIMEMESSAGE predeterminado.
MIMEMESSAGE MENSAJE1 =new MimemEssage (sesión);
// establecido desde:campo de encabezado del encabezado.
Message1.setFrom (nuevo Internetaddress (desde));
// Establecer en:campo de encabezado del encabezado.
Message1.addrecipient (Message.RecipientType.to, nuevo Internetaddress (a));
// Establecer sujeto:campo de encabezado
Message1.setsubject (sujeto);
// ahora establece el mensaje real
Message1.settext (mensaje);
// Enviar mensaje
Transport.send (Mensaje1);
System.out.println ("¡correo electrónico enviado correctamente!");
} catch (MessionGingException Mex) {
mex.printstacktrace ();
}
}
}
`` `` ``
3. Explicación:
* `Propiedades de propiedades`: Este objeto contiene la configuración de su servidor SMTP (el servidor de correo saliente). Tú debe Reemplace `" smtp.example.com "`, `" 587 "`, `" [email protected] "`, y `" Your_Password "` con los detalles de su servidor SMTP reales, el puerto, la dirección de correo electrónico y la contraseña. El puerto es a menudo 587 (para TLS) o 465 (para SSL). Consulte la documentación de su proveedor de correo electrónico para obtener la configuración correcta.
* `Sesión Sesión`: Esto crea un objeto de sesión utilizando las propiedades y un 'Authenticator' para manejar la autenticación con su servidor SMTP.
* `Mimemessage Message1`: Esto crea el mensaje de correo electrónico.
* `setFrom`,` AdDRecipient`, `setSubject`,` setText`: Estos métodos establecen el encabezado y el cuerpo del correo electrónico.
* `Transport.send (Message1)`: Esto envía el correo electrónico.
* Manejo de errores: El bloque `try-Catch` maneja los posibles errores de` MessésgingException` durante el proceso de envío de correo electrónico.
4. Consideraciones importantes:
* Seguridad: Nunca hardifique su contraseña de correo electrónico directamente en su código. Considere usar variables de entorno o un método más seguro para almacenar información confidencial.
* Configuración del servidor SMTP: Asegúrese de tener la configuración correcta del servidor SMTP de su proveedor de correo electrónico (Gmail, Outlook, Yahoo, etc.). A menudo requieren habilitar "acceso de aplicación menos seguro" o configurar una contraseña de una aplicación por razones de seguridad.
* Manejo de errores: El manejo de errores robusto es crucial para manejar posibles problemas de red, fallas de autenticación y otros problemas. El ejemplo proporcionado incluye el manejo básico de errores, pero debe agregar registros más completos de registro e informes de errores en un entorno de producción.
* Adjuntos: Para agregar archivos adjuntos, deberá usar `mimeBodyPart` y` multipart` para construir un mensaje más complejo. Esto está más allá del alcance de este simple ejemplo, pero se puede buscar fácilmente en línea.
* correos electrónicos html: Para enviar correos electrónicos HTML, deberá establecer el `ContentType` del mensaje en` Text/HTML`.
Esta explicación detallada debería ayudarlo a enviar correos electrónicos con Java. Recuerde reemplazar los valores del marcador de posición con sus propias credenciales e información del servidor. Priorice siempre la seguridad y maneje los errores con gracia.