Utilice los protocolos javamail y POP3, SMPT para enviar y recibir correos electrónicos
Introducción El nombre completo de SMTP es Protocolo simple de transferencia de correo, que se utiliza para enviar correos electrónicos con autenticación SMTP. En pocas palabras, requiere que proporcione su nombre de cuenta y contraseña POP (oficina de correos) antes de iniciar sesión. el servidor SMTP) El protocolo permite a los clientes de correo electrónico descargar mensajes del servidor, pero las acciones realizadas por el cliente (como mover mensajes, marcar mensajes como leídos, etc.) no se devuelven al servidor. POP (Protocolo de oficina postal) permite a un cliente de correo electrónico descargar correos electrónicos desde un servidor, pero las acciones realizadas por el cliente (como mover mensajes, marcarlos como leídos, etc.) no se devuelven al servidor. Por ejemplo, si un cliente recibe correo en un buzón y lo mueve a una carpeta diferente, el correo en el servidor del buzón no se mueve al mismo tiempo, mientras que IMAP (Protocolo de acceso al correo de Internet) proporciona acceso al correo basado en red para enviar correo. . IMAP (Protocolo de acceso al correo de Internet) proporciona comunicación bidireccional entre el correo web y los clientes de correo electrónico. Las acciones del cliente se reflejan en el servidor y el correo en el servidor hace lo mismo. Al mismo tiempo, IMAP, al igual que POP, proporciona un cómodo servicio de descarga de correo electrónico que permite a los usuarios leer sin conexión. IMAP proporciona una función de navegación resumida donde los usuarios pueden leer toda la información, como la hora de llegada, el asunto, el remitente, el tamaño, etc., antes de decidir si realizar la descarga. Además, IMAP proporciona un mejor acceso al correo nuevo desde múltiples dispositivos diferentes en cualquier momento. Considerándolo todo, IMAP brinda a los usuarios una experiencia más conveniente y confiable en general.
Tenga en cuenta que si configura Guardar como enviado en webmail, cuando utilice el servicio POP para enviar correos electrónicos, los correos electrónicos enviados se sincronizarán automáticamente con la carpeta Enviados de webmail. Utilice el protocolo SMTP para enviar paquetes de correo electrónico como email import java io. Archivo; importar java io UnsupportedEncodingException; importar javax util ArrayList; importar javax mail Authenticator; importar javax mail Mensaje; MessagingException; importar correo javax Multipart; importar correo javax Internet MimeBodyPart; importar correo javax internet MimeMessage; * @autor como * @E mail k * @CreateTime pm ::*/ public class SMTPSendTest { privado estático final int RECEIPT =; nuevas Propiedades() props put(mail *** tp host emailInfo getSmtpServer()) props put(mail *** tp port emailInfo getSmtpPort()) props put(mail *** tp auth true) Autenticación(verificación) tp auth true ) Autenticador de autenticación = nuevo SMTPAuthenticator(emailInfo getUsername()) emailInfo getPassword()) Sesión sesión = Sesión getInstance(props auth) sesión
setDebug(false) Mensaje msg = new MimeMessage(sesión) msg setFrom (nueva dirección de Internet (emailInfogetFrom() emailInfo getFromName()) msg setRecipients (Message RecipientType TO getEmailRecipient()) msg setRecipients (Message RecipientType TO getEmailRecipient( )) emailInfo getTO() ) msg setRecipients(Message RecipientType CC getEmailRecipient(emailInfomsg setRecipients(Message RecipientType BCC getEmailRecipient(emailInfo getBCC())) if (emailInfo getReceipt() == RECEIPT) { msg setHeader(Notificación de disposición a emailInfo getFrom ()) } msg setSubject(Notificación de disposición a emailInfo getFrom())) ))msg setSubject(emailInfo getSubject()) // Establece el contenido del correo electrónico (incluido el contenido en formato HTML del archivo adjunto) msg setContent(getMultipart (emailInfo getContent()) adjuntoDir emailInfo getAttachment())) msg saveChanges() Transporte enviar(msg) }/** * Encapsular dirección de correo electrónico * * @param dirección * @return * @throws AddressException */ dirección de Internet estática privada[] getEmailRecipient (ArrayListlt; Stringgt; dirección) lanza AddressException { int toLen = ; if (address! = null) { toLen = tamaño de dirección () }InternetAddress[] direcciónTo = nueva InternetAddress[toLen] if (toLen! = ) { String m_st_email = ; for (int i = ; i lt; toLen; i ) { m_st_email = (Cadena) dirección get(i) if (m_st_email ! = null) direcciónA[i] = nueva dirección de Internet (m_st_email trim()) } dirección de retornoA } dirección privadaA = nueva dirección de Internet[aLen].} dirección de retornoA } pri;
vate static Multipart getMultipart(String text String adjuntoParentDir ArrayListlt; Stringgt; adjunto) lanza MessagingException { lishixinzhi/Article/program/Java/hx/201311/26993