阅读电子邮件并将正文设置为TextView Javamail API
我有Javamail API设置,可以从特定的Gmail帐户发送电子邮件。然而,我很好奇是否有办法检查一个小清单,例如,如果发送者=”example@gmail.com然后抓取收到的电子邮件的正文,并在Android应用程序上以文本视图的形式显示文本内容 我发现了一些从Gmail账户阅读电子邮件的方法。我目前使用的示例如下:阅读电子邮件并将正文设置为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
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布局,所以一切正常。基本上,这个想法是抓住邮件的主体,并将其中的文本显示为一种动态新闻提要(如果这样做有意义)。好吧,如果你被卡住了,发布代码,显示你尝试了什么以及尝试时发生了什么。