我有Javamail API设置,可以从特定的Gmail帐户发送电子邮件。但是,我很好奇是否有办法通过一个小清单,例如,如果sender =“example@gmail.com”然后获取传入电子邮件的正文并在Android应用程序上将文本内容显示为textView
我找到了一些从Gmail帐户中读取电子邮件的方法。我目前使用的一个例子如下:
public class ReadingEmail {
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imaps");
try {
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("imap.gmail.com", "yourEmailId@gmail.com", "password");
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
Message msg = inbox.getMessage(inbox.getMessageCount());
Address[] in = msg.getFrom();
for (Address address : in) {
System.out.println("FROM:" + address.toString());
}
Multipart mp = (Multipart) msg.getContent();
BodyPart bp = mp.getBodyPart(0);
System.out.println("SENT DATE:" + msg.getSentDate());
System.out.println("SUBJECT:" + msg.getSubject());
System.out.println("CONTENT:" + bp.getContent());
} catch (Exception mex) {
mex.printStackTrace();
}
}
}
电子邮件的一个例子是:
控制台中示例的输出为:
但是,我的问题是,我不想使用println语句写入控制台,而是想读取收件箱,检查发件人是否是特定的预定义电子邮件地址,如果是,请仅使用文本该电子邮件,并作为textView显示在Android屏幕上。
非常感谢任何想法。