⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receivemail.java

📁 该文件中包含了用java开发的邮件发送系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package mail;import javax.mail.*;	//引用javax.mail包,此包中包含Store、Transport等重要类import javax.mail.internet.*;import javax.activation.*;import java.util.*;import java.io.*;public class ReceiveMail{        private String host = "";	//Mail server名        private String user = "";	//用户名        private String pwd = "";	//密码        private Message message[];	//message对象数组        private Store store;		//store对象        private Folder folder;        public ReceiveMail()        {                //空构造函数,读者可以给里面加入相应内容,以扩大此程序的功能        }        public int connectHost(String host,String user,String pwd)	//连接pop3服务器,收email        {                try                {                        setHost(host);	//设置服务器名                        setUser(user);	//设置用户名                        setPwd(pwd);	//设置密码                        Session sessionmail =Session.getInstance(new Properties(),null); //得到Session对象                        store=sessionmail.getStore("pop3");		//得到Store对象                        store.connect(host,user,pwd);			//连接服务器                        folder=store.getFolder("INBOX");		//得到默认的收件箱文件夹                        folder.open(Folder.READ_WRITE);			//打开此文件夹                        message=folder.getMessages();			//得到message对象数组                        return 1;	//成功返回1                }                catch(Exception e)                {                        return 0;	//失败返回0                }        }        //设置接收邮件服务器的地址        private void setHost(String str)        {                host = str;        }        //设置用户名        private void setUser(String str)        {                user = str;        }        //设置密码        private void setPwd(String str)        {                pwd = str;        }        //得到发件人的Vector        public Vector getFrom()        {                Vector v_from = new Vector();                try                {                        for(int i=0;i < message.length;i++)                        {                                //通过标记找出没有被标记为删除的邮件                                if (!message[i].isSet(Flags.Flag.DELETED))                                {                                        //由于getFrom方法返回的是一个发件人的数组,但大多数情况发件人是一个人,所以数组下标用0                                        v_from.addElement(getChineseStr(message[i].getFrom()[0].toString()));                                }                        }                }                catch(Exception e)	//发生异常的处理                {                        System.out.println("getFrom Error:"+e);                        v_from.clear();                }                return v_from;	//返回Vector        }        //得到邮件是否被阅读过的标记        public Vector getFlag()        {                Vector v_flag = new Vector();                try                {                        for(int i=0;i < message.length;i++)                        {                                if (!message[i].isSet(Flags.Flag.DELETED))                                {                                        //有些邮件系统不支持Flags.Flag.SEEN这个标记,所以无法判断是否是新邮件                                        //实例中用的Imail Server就不支持该标记,所以通过这个方法判断不出邮件                                        //是否是新邮件                                        if (message[i].isSet(Flags.Flag.SEEN))                                        {                                                v_flag.addElement("seen");	//看过的邮件                                        }                                        else                                        {                                                v_flag.addElement("new");	//新邮件                                        }                                }                        }                }                catch(Exception e)	//发生异常后的处理                {                        System.out.println("getFlag Error:"+e);                        v_flag.clear();                }                return v_flag;	//返回Vector        }        //得到邮件的主题Vector        public Vector getSubject()        {                Vector v_subject=new Vector();                try                {                        for(int i=0;i < message.length;i++)                        {                                if (!message[i].isSet(Flags.Flag.DELETED))                                {                                        //调用getChineseStr显示中文标题,有些邮件系统不支持中文标题,我用的imail server这个版本                                        //就不支持中文标题,邮件内容也是一样                                        v_subject.addElement(getChineseStr(message[i].getSubject()));                                }                        }                }                catch(Exception e)	//发生异常后的处理                {                        System.out.println("getSubject Error:"+e);                        v_subject.clear();                }                return v_subject;	//返回Vector        }        //得到邮件内容的Vector        public Vector getContent()        {                Vector v_content=new Vector();                try                {                        for(int i=0;i < message.length;i++)                        {                                if (!message[i].isSet(Flags.Flag.DELETED))                                {                                        Object content=message[i].getContent();                                        //普通的文本文件,本实例没有涉及到复杂的邮件(html邮件,带附件的邮件等)                                        //感兴趣的读者可以通过本实例举一反三                                        if (message[i].isMimeType("text/plain"))                                        {                                        //调用getChineseStr显示中文内容。                                                v_content.addElement(getChineseStr(content.toString()));                                        }                                        else if(message[i].isMimeType("multipart/*"))	//复杂邮件时                                        {                                                Multipart mp=(Multipart)content;                                                Part part=mp.getBodyPart(0);                                                v_content.addElement(getChineseStr(part.getContent().toString()));                                        }                                }                        }                }                catch(Exception e)	//出现异常的处理                {                        System.out.println("getContent Error:"+e);                        v_content.clear();                }                return v_content;	//返回Vector        }/* 有附件时,没有测试,读者可参考public String getContent(String path){        String Vcontent="";        try        {                for(int i=0;i < message.length;i++)                {                        if (!message[i].isSet(Flags.Flag.DELETED))                        {                                Object content=message[i].getContent();                                if (message[i].isMimeType("text/plain"))                                {                                        Vcontent=Vcontent+content.toString()+",";                                }                                else if(message[i].isMimeType("multipart/*"))                                {                                        Multipart mp=(Multipart)content;                                        for (int j=0;j<mp.getCount();j++)                                        {                                                Part part=mp.getBodyPart(j);                                                //get the content type of this part                                                String contentType=part.getContentType();                                                if (contentType==null)                                                {                                                        Vcontent="Bad content type";                                                        continue;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -