Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阅读电子邮件并将正文设置为TextView Javamail API_Java_Android_Smtp_Jakarta Mail_Pop3 - Fatal编程技术网

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

阅读电子邮件并将正文设置为TextView Javamail API,java,android,smtp,jakarta-mail,pop3,Java,Android,Smtp,Jakarta Mail,Pop3,我有Javamail API设置,可以从特定的Gmail帐户发送电子邮件。然而,我很好奇是否有办法检查一个小清单,例如,如果发送者=”example@gmail.com然后抓取收到的电子邮件的正文,并在Android应用程序上以文本视图的形式显示文本内容 我发现了一些从Gmail账户阅读电子邮件的方法。我目前使用的示例如下: public class ReadingEmail { public static void main(String[] args) { Pro

我有Javamail API设置,可以从特定的Gmail帐户发送电子邮件。然而,我很好奇是否有办法检查一个小清单,例如,如果发送者=”example@gmail.com然后抓取收到的电子邮件的正文,并在Android应用程序上以文本视图的形式显示文本内容

我发现了一些从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语句写入控制台,而是想阅读收件箱,检查发件人是否是特定的预定义电子邮件地址,如果是,则只获取该电子邮件的文本,并将其作为文本视图显示在android屏幕上


如果您有任何想法,我们将不胜感激。

我不确定您到底对什么感到困惑。JavaMail API具有访问消息所有部分的方法。JavaMail常见问题解答有一个例子。对不起,我没有看到oracle有常见问题解答。在它说“你可以用一个消息对象(它是一部分)调用getText方法”的部分中,“getText的首选方法是什么,并将其设置为textView?我认为没有一种首选方法可以做到这一点;这取决于应用程序的要求和结构。您是否创建了包含textView的应用程序,并且您只是想弄清楚如何将数据放入textView?确切地说,该结构本质上是一个带有片段的3选项卡式布局。我试图在其中一个片段上显示textView。我还没有创建一个textView布局,所以一切正常。基本上,这个想法是抓住邮件的主体,并将其中的文本显示为一种动态新闻提要(如果这样做有意义)。好吧,如果你被卡住了,发布代码,显示你尝试了什么以及尝试时发生了什么。