在Android上开发邮件客户端应用程序

5
我正在尝试开发一个小应用程序,在Android平台上发送和接收电子邮件。目前,我一直在使用Javamail API尝试发送电子邮件。但是我想,如果我使用javamail实现我的应用程序,那么我如何接收电子邮件并从我的应用程序中获得通知呢?这与Android上找到的Service和Provder类有关吗?我是一个完全的Android初学者。
此外,我尝试了在这里找到的代码: Android Programming - Send mail 但不幸的是,应用程序无法运行。

发送和接收邮件是两个非常不同的事情...一个是服务器,另一个是客户端。这就像编写Web浏览器或HTTP服务器一样,它们并不相同。 - m0skit0
我知道,但是我要如何在Android上接收邮件呢?有没有邮件类?因为我找不到方法。我想创建一个非常简单的应用程序,就像默认的电子邮件应用。 - skay-
1
由于您不是电子邮件服务器,也没有域名,更别提DNS服务器,因此您无法接收电子邮件。您可能是想从电子邮件服务器中获取电子邮件。为此,您需要使用POP3 / IMAP协议。请检查是否有相应的库可供使用。 - m0skit0
嗯,基本上我的问题是如何获取数据。我知道k9开源应用程序具有该功能,并且他们提供了代码,但由于有超过150个类,我无法准确找到它们在哪里获取邮件。 - skay-
就像我之前说的,搜索POP3/IMAP。 - m0skit0
1个回答

5

JavaMail也可以用于从POP3服务器中获取邮件。例如,看看这个类:PopMailImporter.java,特别是importMails和importMail函数。


@Stelios 一个电子邮件应用可以是任何东西,但至少我可以说JavaMail使得向SMTP(更具体地说是submission)服务器发送邮件和从POP3服务器接收邮件变得容易。 - Hontvári Levente
再次感谢。基本上我无法真正理解importMails(..)方法。首先它创建了属性对象,然后是会话;如果我没有记错,remotehost应该是:smtp.gmail.com。然后我连接到服务器,然后调用其他方法,依此类推。这是一个有点复杂的例子,似乎我错过了一些东西。如果我能在Java中做到这一点,那么在Android上也不应该有问题。你有另一个更简单的例子吗?再次感谢。 - skay-
@Stelios Properties对象存储配置属性,但在示例中为空。该函数创建一个POP3会话,连接到存储(这意味着服务器上的POP3帐户),打开文件夹(在POP3中只有一个文件夹),然后检索所有消息。它遍历消息列表并通过将它们作为流打开来读取它们的内容。 - Hontvári Levente
你知道如何区分未读邮件吗?在POP3中是不可能的。我可以想象在IMAP中是可能的。据我所知,Gmail也提供了IMAP服务。我不理解你关于输出的问题,特别是因为我没有看到代码,也许你可以将代码作为一个新问题发布。 - Hontvári Levente
感谢您提供的宝贵信息。我正在使用您在讨论中提供的代码,而不是答案中的代码。再次感谢,我将在另一个新问题中发布我的问题和代码。 - skay-
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接