-1
Je lis des emails non lus à partir d'un dossier spécifique comme celui-ci. Le type de contenu du message est text/html; jeu de caractères = iso-8859-1. Comment puis-je obtenir le contenu en tant que chaîne? Quand je fais un toString je reçois quelque chose comme ça [email protected]Lire le contenu de l'e-mail lorsque le type est text/html; charset = iso-8859-1
public Message[] fetchMessages(String host, String user, String password,String folder, boolean read) throws IOException {
try {
Properties properties = new Properties();
properties.put("mail.store.protocol", "imaps");
Session emailSession = Session.getDefaultInstance(properties);
Store store = emailSession.getStore();
store.connect(host, user, password);
Folder folderToRead = store.getFolder(folder);
folderToRead.open(Folder.READ_WRITE);
Flags seen = new Flags(Flags.Flag.SEEN);
FlagTerm unseenFlagTerm = new FlagTerm(seen, read);
Message messages[] = folderToRead.search(unseenFlagTerm);
System.out.println(messages.length);
for(Message message : messages){
System.out.println(getMessageContent(message));
}
}
public getMessageContent(Message message){
String result = "";
if (message.isMimeType("text/html")) {
// My message type is coming as text/html
result = message.getContent().toString();
}
else if (message.isMimeType("text/plain")) {
result = message.getContent().toString();
}
return result;
}
D'où vient «Message»? Avez-vous lu sa documentation? – Henry
C'est un message texte clair dans mes perspectives. – Jerry