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 ; p>
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", p>
"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"); p>
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> 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
}
}