「java邮件读取」读取邮件 Java

博主:adminadmin 2023-01-24 07:27:11 298

今天给各位分享java邮件读取的知识,其中也会对读取邮件 Java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何获取邮箱中的发件箱,草稿箱,垃圾箱内容。

你想获取那个邮箱中的这些信息?这个是需要邮箱方进行配合的。

比如163邮箱,他们会提供一些公开接口,你可以调用这些接口来获取你想要的邮件信息。

想要同步也很简单,只要间隔很短的时间进行一次获取就可以了。

至于你要做其他处理,那就要看邮箱开放的接口是啥样的了。

如果邮箱不开放这么接口,那么你是获取不到邮件信息的。

java email怎么获取收件箱已发送已删除中的邮件 csdn

其实删除邮件很简单,在接收邮件的基础上对需要删除的邮件做一个标记(Flags类),然后程序就会对有做了标记的邮件进行删除。

在Flags类的内部类Flag中预定义了一些标志:

Flags.Flag.ANSWERED

Flags.Flag.DELETED (删除的标记,这一讲我们就要用到这个标记)

Flags.Flag.DRAFT

Flags.Flag.FLAGGED

Flags.Flag.RECENT

Flags.Flag.SEEN

Flags.Flag.USER

删除邮件:message[i].setFlag(Flags.Flag.DELETED, true);

讲到这里我想大家都已经想到删除一封邮件的程序到底怎样写了。

不过有一点要注意的,上一讲我们打开Folder的时候是用READ_ONLY,当然读文件用READ_ONLY是做够的,但是我要这一讲要做的操作时删除文件,READ_ONLY是没有删除邮件的权限,所以我们要改为READ_WRITE。

如果要检查某个邮件是否标记了Flags.Flag.DELETED,可以使用message[i].isSet(Flags.Flag DELETED)

注意:这个删除操作是将邮件彻底删除的,大家要谨慎使用,务必读懂代码再进行操作。不小心删除了重要的邮件,小弟不负责人哦,(*^__^*) 嘻嘻……

这个只是一个很简单的删除邮件,在现实中我们会考虑到删除邮件后会将邮件移动另外一个目录下(如已删除、垃圾箱),这些功能我会在后面会讲!

给个例子大家参考:

import Java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.Properties;

import javax.mail.Flags;

import javax.mail.Folder;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Store;

public class DelMail {

public static void main(String[] args) throws Exception {

Properties props = new Properties();

Session session = Session.getDefaultInstance(props);

//取得pop3协议的邮件服务器

Store store = session.getStore("pop3");

//连接pop.qq.com邮件服务器

store.connect("pop.qq.com", "343820302@qq.com", "******");

//返回文件夹对象

Folder folder = store.getFolder("INBOX");

//设置读写

folder.open(Folder.READ_WRITE);

//获取信息

Message message[] = folder.getMessages();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

for(int i=0; imessage.length; i++) {

System.out.println(i + ": " + message[i].getFrom()[0] + "\t" + message[i].getSubject());

System.out.println("Do you want to delete message? [YES to delete]");

String line = br.readLine();

if(line.equals("YES")) {

//设置删除标记

message[i].setFlag(Flags.Flag.DELETED, true);

}

}

folder.close(true);

store.close();

}

}

程序最后folder.close(true)执行了才会生效!

java实现 sbd格式邮件附件的解析?就是读取sbd格式的附件内容

文件类型:办事处会计公司数据文件

类别:数据文件

软件:可打开SBD文件的软件: Microsoft Office Accounting, Superbase Classic, Superbase Scientific, Superbase SB Next Generation Workbench.

如何用JAVA来读取一个邮箱并取出用户名

用分割函数啊。split

以“@”分割,分割成两部分,abc , sina.com

取前者就行了。

JAVA怎么获取邮件内容

给你一个参考,很详细,你只需要对照看下获取邮件内容的那部分就可以了。

java 发送邮件,内容是要从数据库中读取的数据并列成表格的状态发送出去

 public boolean sendTextMail(MailSenderInfo mailInfo) {    

      // 判断是否需要身份认证    

      MyAuthenticator authenticator = null;    

      Properties pro = mailInfo.getProperties();   

      if (mailInfo.isValidate()) {    

      // 如果需要身份认证,则创建一个密码验证器    

        authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());    

      }   

      // 根据邮件会话属性和密码验证器构造一个发送邮件的session    

      Session sendMailSession = null;

      

      

      //sendMailSession = Session.getDefaultInstance(pro,authenticator); //获取默认可能报错

      sendMailSession = Session.getInstance(pro,authenticator);//新创建一个session

      if (sendMailSession==null){

         System.out.println("无法获取邮件邮件Session");

      }

      try {    

      // 根据session创建一个邮件消息    

      Message mailMessage = new MimeMessage(sendMailSession);    

      // 创建邮件发送者地址    

      Address from = new InternetAddress(mailInfo.getFromAddress()); 

      // 设置邮件消息的发送者    

      mailMessage.setFrom(from); 

      // 创建邮件的接收者地址,并设置到邮件消息中

      Address to = new InternetAddress(mailInfo.getToAddress()); 

      

      mailMessage.setRecipient(Message.RecipientType.TO,to);

      

      // 设置邮件消息的主题    

      mailMessage.setSubject(mailInfo.getSubject());    

      // 设置邮件消息发送的时间    

      mailMessage.setSentDate(new Date());    

      // 设置邮件消息的主要内容    

      String mailContent = mailInfo.getContent();    

      mailMessage.setText(mailContent);    

     

      

      

      //添加附件

//      if(mailInfo.getAttachFileNames()!=null || mailInfo.getAttachFileNames().length0){

//          Multipart mp = new MimeMultipart();  

//          MimeBodyPart mbp=null;

//          for(String fileName:mailInfo.getAttachFileNames()){

//              mbp=new MimeBodyPart();

//              FileDataSource fds=new FileDataSource(fileName); //得到数据源  

//              mbp.setDataHandler(new DataHandler(fds)); //得到附件本身并至入BodyPart  

//              mbp.setFileName(fds.getName());  //得到文件名同样至入BodyPart  

//              mp.addBodyPart(mbp);  

//          }

//          mailMessage.setContent(mp);

//      }

      

      // 发送邮件    

      Transport.send(mailMessage);   

      return true;    

      } catch (MessagingException ex) {    

          ex.printStackTrace();

          

      }    

      return false;    

    }    

    public class MailSenderInfo {    

    // 发送邮件的服务器的IP和端口    

    private String mailServerHost;    

    private String mailServerPort = "25";    

    // 邮件发送者的地址    

    private String fromAddress;    

    // 邮件接收者的地址    

    private String toAddress;    

    // 登陆邮件发送服务器的用户名和密码    

    private String userName;    

    private String password;    

    // 是否需要身份验证    

    private boolean validate = false;    

    // 邮件主题    

    private String subject;    

    // 邮件的文本内容    

    private String content;    

    // 邮件附件的文件名    

    private String[] attachFileNames;     

    

    //邮件抄送人

    

    private ListString ccUserList;

    /** *//**   

      * 获得邮件会话属性   

      */    

    public Properties getProperties(){    

      Properties p = new Properties();    

      p.put("mail.smtp.host", this.mailServerHost);    

      p.put("mail.smtp.port", this.mailServerPort);    

      p.put("mail.smtp.auth", validate ? "true" : "false");    

      return p;    

    }    

    public String getMailServerHost() {    

      return mailServerHost;    

    }    

    public void setMailServerHost(String mailServerHost) {    

      this.mailServerHost = mailServerHost;    

    }   

    public String getMailServerPort() {    

      return mailServerPort;    

    }   

    public void setMailServerPort(String mailServerPort) {    

      this.mailServerPort = mailServerPort;    

    }   

    public boolean isValidate() {    

      return validate;    

    }   

    public void setValidate(boolean validate) {    

      this.validate = validate;    

    }   

    public String[] getAttachFileNames() {    

      return attachFileNames;    

    }   

    public void setAttachFileNames(String[] fileNames) {    

      this.attachFileNames = fileNames;    

    }   

    public String getFromAddress() {    

      return fromAddress;    

    }    

    public void setFromAddress(String fromAddress) {    

      this.fromAddress = fromAddress;    

    }   

    public String getPassword() {    

      return password;    

    }   

    public void setPassword(String password) {    

      this.password = password;    

    }   

    public String getToAddress() {    

      return toAddress;    

    }    

    public void setToAddress(String toAddress) {    

      this.toAddress = toAddress;    

    }    

    public String getUserName() {    

      return userName;    

    }   

    public void setUserName(String userName) {    

      this.userName = userName;    

    }   

    public String getSubject() {    

      return subject;    

    }   

    public void setSubject(String subject) {    

      this.subject = subject;    

    }   

    public String getContent() {    

      return content;    

    }   

    public void setContent(String textContent) {    

      this.content = textContent;    

    }

    public ListString getCcUserList(){

        return ccUserList;

    }

    public void setCcUserList(ListString ccUserList){

        this.ccUserList = ccUserList;

    }    

    

    

}   

public static void main(String[] args) {

        // 这个类主要是设置邮件

        MailSenderInfo mailInfo = new MailSenderInfo();

        mailInfo.setMailServerHost("smtp.163.com");

        mailInfo.setMailServerPort("25");

        mailInfo.setValidate(true);

        mailInfo.setUserName("zhengzhanzong@163.com");

        mailInfo.setPassword("zzzong0828");// 您的邮箱密码

        mailInfo.setFromAddress("");

        //接受方信息

        mailInfo.setToAddress("");

        mailInfo.setSubject("邮箱标题 ");

        mailInfo.setContent("设置邮箱内容 如 中国桂花网 是中国最大桂花网站==");

        

        String[] files=new String[]{"D:/1.txt","D:/2.txt","D:/3.txt"};

        mailInfo.setAttachFileNames(files);

        // 这个类主要来发送邮件

        SimpleMailSender sms = new SimpleMailSender();

        sms.sendTextMail(mailInfo);// 发送文体格式

        //sms.sendHtmlMail(mailInfo);// 发送html格式

    }

这样发

java邮件读取的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于读取邮件 Java、java邮件读取的信息别忘了在本站进行查找喔。