『壹』 使用javamail查询收件箱,如何获得邮件的发送时间呢请详细说明,谢谢
首先必须获取抄链接:
Properties props = new Properties();
Session session = Session.getInstance(props);
Store store = session.getStore(receiptorPro);
store.connect(“接受邮件服务器”, “端口”, “用户名”, “密码”);
打开Folder:
Folder inbox = store.getFolder("INBOX");
Folder有pop3和imap两种:
IMAPFolder folder = (IMAPFolder) inbox;
folder.open(Folder.READ_WRITE);//Folder.READ_WRITE为打开状态
获取邮件:
Message[] messages = folder.getMessages();
for (int i = 0; i < messages.length; i++) {
Date sendDate = messages[i].getSentDate();
//ok 就能取出发送时间
}
『贰』 java中如何实现公司邮箱发送邮件配置
Java中可以通过Javamail API实现公司邮箱邮件发送配置,Java mail是利用现有的邮箱账户发送邮件的版工具,具体步权骤如如下:
1、通过JavamailAPI设置发送者邮箱用户名及密码
2、通过JavamailAPI设置邮件主题、邮件内容、附件及邮件发送时间
3、通过JavamailAPI设置发送者邮箱地址及接收者邮箱地址,接收者地址可以是多个及抄送
4、邮件的需基本元素都设置完毕后,即可通过Javamail API的发送接口执行发送操作。
『叁』 javamail的tls和ssl方式是什么意思
tls/ssl协议是安全通讯协议。这种协议目前各种大型邮件传输服务商都支持,有的邮回箱可以设置没有这个协议不答能发送邮件。其实不用太关注这个通讯协议,在使用javamail中使用tls/ssl也很简单:就是加一个配置而已,其他内容已经封装好了。
附:SSL/TLS 单向认证
用户到服务器之间存在单方面的认证,即客户端会认证服务器端身份,而服务器端不会去对客户端身份进行验证。首先,客户端发起握手请求,服务器收到握手请求后,会选择适合双方的协议版本和加密方式。然后,再将协商的结果和服务器端的公钥一起发送给客户端。客户端利用服务器端的公钥,对要发送的数据进行加密,并发送给服务器端。服务器端收到后,会用本地私钥对收到的客户端加密数据进行解密。然后,通讯双方都会使用这些数据来产生双方之间通讯的加密密钥。接下来,双方就可以开始安全通讯过程了。
『肆』 如何使用JavaMail删除QQ邮件服务器上的邮件
JavaMail是提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。可以方便地执行一些常用的邮件传输。
如果需要使用JavaMail编程来实现删除QQ邮件服务器上的邮件,可以参考以下代码,在调用deleteMessages方法时,只需要传入邮件服务器地址、端口、邮箱登录用户名、登录密码以及需要删除的邮件主题五个参数即可:
packagecom.what21.network.mail;
importjava.util.Properties;
importjavax.mail.Flags;
importjavax.mail.Folder;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.NoSuchProviderException;
importjavax.mail.Session;
importjavax.mail.Store;
{
/**
*删除主题中包含subjectToDelete字符串的所有邮件
*
*@param邮箱服务器地址
*@param邮箱服务器端口
*@param登录用户名
*@param登录密码
*@param如果邮件主题包含这个字符串就会对其进行删除操作
*/
publicvoiddeleteMessages(Stringhost,Stringport,StringuserName,
Stringpassword,StringsubjectToDelete){
Propertiesproperties=newProperties();
//邮箱服务器配置
properties.put("mail.imap.host",host);
properties.put("mail.imap.port",port);
//SSL连接配置
properties.setProperty("mail.imap.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.imap.socketFactory.fallback","false");
properties.setProperty("mail.imap.socketFactory.port",
String.valueOf(port));
Sessionsession=Session.getDefaultInstance(properties);
try{
//连接邮箱服务器
Storestore=session.getStore("imap");
store.connect(userName,password);
//打开收件箱
FolderfolderInbox=store.getFolder("INBOX");
folderInbox.open(Folder.READ_WRITE);
//从服务器获取新邮件
Message[]arrayMessages=folderInbox.getMessages();
for(inti=0;i<arrayMessages.length;i++){
Messagemessage=arrayMessages[i];
Stringsubject=message.getSubject();
if(subject.contains(subjectToDelete)){
//给需要删除的邮件打上标签
message.setFlag(Flags.Flag.DELETED,true);
System.out.println("MarkedDELETEformessage:"+subject);
}
}
//删除指定的邮件
booleanexpunge=true;
folderInbox.close(expunge);
//anotherway:
//folderInbox.expunge();
//folderInbox.close(false);
//断开连接
store.close();
}catch(NoSuchProviderExceptionex){
System.out.println("Noprovider.");
ex.printStackTrace();
}catch(MessagingExceptionex){
System.out.println(".");
ex.printStackTrace();
}
}
/**
*测试-Gmail邮箱
*protocol.
*/
publicstaticvoidmain(String[]args){
Stringhost="imap.gmail.com";
Stringport="993";
StringuserName="your_email";
Stringpassword="your_password";
EmailMessageRemoverremover=newEmailMessageRemover();
StringsubjectToDelete="Newsletter";
remover.deleteMessages(host,port,userName,password,subjectToDelete);
}
}