Pessoal queria saber se é possível deletar mensagens com o JavaMail?
Se é, como se faz?
O código é este:
package jmailer.gui;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.mail.*;
public class MailList extends JFrame implements ActionListener {
private JPanel panel = new JPanel(new GridBagLayout());
private DefaultListModel model = new DefaultListModel();
private JList list = new JList(model);
private JScrollPane scroll = new JScrollPane(list);
private JButton conn = new JButton("Carregar Mensagens");
private JButton erase = new JButton("Apagar Mensagem");
private GridBagConstraints gbc = new GridBagConstraints();
private Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
private Message[] messages = null;
private Folder folder = null;
private void getMessagesToMailList() {
Properties props = new Properties();
String server = "pop3";
String serverend = "xxx";
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("xxx", "xxx");
}
};
Session session = Session.getDefaultInstance(props, auth);
try {
Store store = session.getStore(server);
store.connect(serverend, null, null);
folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
messages = folder.getMessages();
int size = folder.getMessageCount();
if(size != -1) {
JOptionPane.showMessageDialog(null, "Você tem "+messages.length+" mensagem(s) em sua caixa de entrada!", "MailList", JOptionPane.INFORMATION_MESSAGE);
for(int i = 0; i < size; i++) {
model.addElement(messages[i].getSubject());
}
erase.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null, "Você não tem mensagens em sua caixa de entrada!", "MailList", JOptionPane.INFORMATION_MESSAGE);
}
folder.close(false);
store.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
private void eraseMessage(int index) {
}
private void initGUI() {
setLayout(new GridBagLayout());
scroll.setPreferredSize(new Dimension(500, 400));
panel.add(scroll);
gbc.gridy = 0;
gbc.insets = new Insets(5, 5, 0, 5);
add(panel, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.insets = new Insets(5, -150, 5, 0);
conn.addActionListener(this);
add(conn, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
gbc.insets = new Insets(0, -350, 0, 0);
erase.setEnabled(false);
erase.addActionListener(this);
add(erase, gbc);
setTitle("MailList");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
pack();
int wscr = (dimension.width/2)-getWidth()/2;
int hscr = (dimension.height/2)-getHeight()/2;
setLocation(wscr, hscr);
setVisible(true);
}
public MailList() {
initGUI();
}
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
if(source.equals(conn)) {
getMessagesToMailList();
} else if(source.equals(erase)) {
}
}
public static void main(String[] args) {
new MailList();
}
}
Abraços.