java大作业--邮件系统
作者:互联网
一、实现邮箱的登陆功能
邮件系统使用smtp协议发送邮件,使用POP3协议或者IMAP协议来收取邮件。SMTP属于推协议,POP3 ,IMAP属于拉协议。
用户信息用mysql存储。
邮箱登陆时为了登陆进去就可以获取邮件列表,我们使用POP3协议来登陆邮箱。
(如果使用SMTP协议登陆的话,只能验证账号,密码是否正确,不能获取邮件列表,登陆进去之后还要再次使用POP3协议来获取邮件,南辕北辙~~~)
POP3协议并没有直接验证账号的功能,但是如果使用不正确的邮箱登录时会抛出异常,所以我们使用异常捕获来判断账号密码是否正确。
在登陆成功后,我们直接用POP3验证的成功的账号来获取邮件列表,并显示在面板上。
二 获取邮件列表
在登陆验证成功的时候,我们在后台从服务器上获取邮件并存储在邮件model数组中,然后再将这个数据传送到登陆界面.
在这个过程中有一个问题,就是当一个邮箱列表很长的时候后台会花很长的时间获取邮件列表.
解决方法:1. 最多只获取最近的30封邮件.
2. 如果要全部获取,而且同时邮件列表又比较长的时候,我们先获取最近的30封邮件,将这个数据先传递到邮箱主界面中,然后在进入邮箱主界面之后再在后台获取剩 余的邮件.
三 邮件列表的更新
在整个桌面端的邮件系统中,这个功能是最让我头疼的,做的过程中不知道为什么总是先邮件的内容获取不了,但是邮件的标题,发件人都是可以获取的,最后才发现由于我的邮件系统 中邮件,发件人信息的取出和邮件正文内容取出并不是在一个函数中完成的,取出邮件标题信息之后我就把文件关闭了,而在消息正文中获取的内容是对于是否获取成功没有进行判断,直接就传递回原函数,导致邮件内容为空.
标签:java,--,列表,POP3,获取,登陆,邮件系统,邮箱,邮件 来源: https://blog.csdn.net/weixin_52535875/article/details/121340376