Red de conocimiento informático - Material del sitio web - Cómo utilizar JavaMail para eliminar correos electrónicos en el servidor de correo QQ

Cómo utilizar JavaMail para eliminar correos electrónicos en el servidor de correo QQ

JavaMail es una interfaz de programación proporcionada a los desarrolladores para procesar el correo electrónico. Es una API lanzada por Sun para procesar correo electrónico. Algunas transferencias de correo utilizadas habitualmente se pueden realizar fácilmente.

Si necesita utilizar la programación JavaMail para eliminar correos electrónicos en el servidor de correo QQ, puede consultar el siguiente código. Al llamar al método deleteMessages, solo necesita pasar la dirección y el puerto del servidor de correo. nombre de usuario de inicio de sesión del buzón y contraseña de inicio de sesión y los cinco parámetros del asunto del correo electrónico que deben eliminarse: package?com.what21.network.mail

import?java.util.Properties

importar?javax.mail Banderas;

importar?javax.mail.Carpeta;

importar?javax.mail.Mensaje;

importar?javax.mail.MessagingException;

importar?javax.mail.NoSuchProviderException;

importar?javax.mail.Session;

importar?javax.mail .Store;

public ?class?EmailMessageRemover?{

/** *?Eliminar todos los correos electrónicos que contengan la cadena SubjectToDelete en el asunto*?@param?Dirección del servidor de correo electrónico* ?@param?Puerto del servidor de correo electrónico*?@param ?Nombre de usuario de inicio de sesión*?@param?Contraseña de inicio de sesión*?@param?Si el asunto del correo electrónico contiene esta cadena, se eliminará*/

public?void ?deleteMessages(String?host,? String?port,?String?userName,

String?password,?String?subjectToDelete)?{

Propiedades?properties?=?new? Propiedades();

//?Configuración del servidor de buzón

properties.put("mail.imap.host",?host);

properties.put ("mail.imap.port" ,?puerto);

//?SSL?Configuración de conexión

properties.setProperty("mail.imap.socketFactory.class",

"javax. net.ssl.SSLSocketFactory");

properties.setProperty("mail.imap.socketFactory.fallback",?"false");

properties.setProperty("mail.imap .socketFactory.port",

String.valueOf(puerto)

Session?session?=?Session.getDefaultInstance(properties); /p>

¿Intentar? {

//?Conectarse al servidor de buzones de correo

Store?store?=?session.getStore("imap");

store.connect(nombre de usuario,? contraseña);

//?Abrir la bandeja de entrada

Carpeta?folderInbox?=?store.getFolder("INBOX");

carpetaInbox.open( Carpeta.READ_

WRITE);

//?Obtener nuevos mensajes del servidor

Message[]?arrayMessages?=?folderInbox.getMessages()

for?( int ?i?=?0;?i?

¿Mensaje?message?=?arrayMessages[i];

Cadena?subject ? =?message.getSubject();

if?(subject.contains(subjectToDelete))?{

//Etiqueta los correos electrónicos que deben eliminarse

message.setFlag(Flags.Flag.DELETED,?true);

System.out.println("¿Marcado?DELETE?for?message:?"?+?subject);

}

}

//?Eliminar el correo electrónico especificado

boolean?expunge?=?true;

folderInbox. close( borrar);

//?otra?forma:

//?folderInbox.expunge();

//?folderInbox.close(false)

//?Desconectar

store.close();

}?catch?(NoSuchProviderException?ex)?{

System.out.println("No?proveedor.");

ex.printStackTrace();

}?catch?(MessagingException?ex)?{

System.out.println("¿No se pudo?conectar?al?almacén?de?mensajes.");

ex.printStackTrace();

} p>

}

/** *?Test-Gmail*?protocol */

public?static?void?main(String[]?args) ? {

String?host?=?"imap.gmail.com";

String?port?=?"993";

String?userName ? =?"tu_correo electrónico";

String?contraseña?=?"tu_contraseña";

EmailMessageRemover?remover?=?new?EmailMessageRemover(); String ?subjectToDelete?=?"Newsletter";

remover.deleteMessages(host,?puerto,?nombre de usuario,?contraseña,?subjectToDelete

}

}