阅读电子邮件并将正文设置为TextView Javamail API

时间:2016-04-10 17:38:20

标签: java android smtp javamail pop3

我有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();
        }
    }
}

电子邮件的一个例子是:

enter image description here

控制台中示例的输出为:

enter image description here

但是,我的问题是,我不想使用println语句写入控制台,而是想读取收件箱,检查发件人是否是特定的预定义电子邮件地址,如果是,请仅使用文本该电子邮件,并作为textView显示在Android屏幕上。

非常感谢任何想法。

0 个答案:

没有答案