Java的邮件发送、接收以及删除

来源:互联网 发布:tensorflow训练mnist 编辑:程序博客网 时间:2024/06/11 00:39

代码如下:

import java.util.Properties;import javax.mail.Address;import javax.mail.Flags;import javax.mail.Folder;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.NoSuchProviderException;import javax.mail.Session;import javax.mail.Store;import javax.mail.Transport;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class TestMail {    public static void main(String[] args)    {            TestMail.sendMail();//            //TestMail.receiveMail();//            TestMail.deleteMail();    }         /**     * send mail     */    public static void sendMail()    {        String host = "smtp.163.com";//邮件服务器        String from = "snail_zhou@163.com";//发件人地址        String to = "972661036@qq.com";//接受地址(必须支持pop3协议)        String userName = "snail_zhou";//发件人邮件名称        String pwd = "*************";//发件人邮件密码        Properties props = new Properties();        props.put("mail.smtp.host", host);        props.put("mail.smtp.auth", "true");                 Session session = Session.getDefaultInstance(props);        session.setDebug(true);                 MimeMessage msg = new MimeMessage(session);        try {            msg.setFrom(new InternetAddress(from));            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));//发送            msg.setSubject("我的测试...........");//邮件主题            msg.setText("测试内容。。。。。。。");//邮件内容            msg.saveChanges();                         Transport transport = session.getTransport("smtp");            transport.connect(host, userName, pwd);//邮件服务器验证            transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));            System.out.println("send ok...........................");        } catch (AddressException e) {            e.printStackTrace();        } catch (MessagingException e) {            e.printStackTrace();        }    }         /**     * receive mail     */    public static void receiveMail()    {        String host = "pop3.sina.com";        String userName = "xingui5624";        String passWord = "******";                 Properties props = new Properties();        Session session = Session.getDefaultInstance(props);        session.setDebug(true);        try {            System.out.println("receive...............................");            Store store = session.getStore("pop3");            store.connect(host, userName,passWord);//验证            Folder folder = store.getFolder("INBOX");//取得收件文件夹            folder.open(Folder.READ_WRITE);            Message msg[] = folder.getMessages();            System.out.println("邮件个数:" + msg.length);                         for(int i=0; i<msg.length; i++)            {                Message message = msg[i];                Address address[] = message.getFrom();                StringBuffer from = new StringBuffer();                /**                 * 此for循环是我项目测试用的                 */                for(int j=0; j<address.length; j++)                {                    if (j > 0)                        from.append(";");                    from.append(address[j].toString());                }                System.out.println(message.getMessageNumber());                System.out.println("来自:" + from.toString());                System.out.println("大小:" + message.getSize());                System.out.println("主题:" + message.getSubject());                System.out.println("时间::" + message.getSentDate());                System.out.println("===================================================");            }            folder.close(true);//设置关闭            store.close();            System.out.println("receive over............................");        } catch (NoSuchProviderException e) {            e.printStackTrace();        } catch (MessagingException e) {            e.printStackTrace();        }    }         /**     * delete mail     */    public static void deleteMail()    {        String host = "pop3.sina.com";        String userName = "xingui5624";        String passWord = "******";                 Properties props = new Properties();        //Properties props = System.getProperties();这种方法创建 Porperties 同上        Session session = Session.getDefaultInstance(props);        session.setDebug(true);        try {            System.out.println("begin delete ...........");            Store store = session.getStore("pop3");            store.connect(host, userName, passWord);//验证邮箱            Folder folder = store.getFolder("INBOX");            folder.open(Folder.READ_WRITE);//设置我读写方式打开            int countOfAll = folder.getMessageCount();//取得邮件个数            int unReadCount = folder.getUnreadMessageCount();//已读个数            int newOfCount = folder.getNewMessageCount();//未读个数            System.out.println("总个数:" +countOfAll);            System.out.println("已读个数:" +unReadCount);            System.out.println("未读个数:" +newOfCount);            for(int i=1; i<=countOfAll; i++)            {                Message message = folder.getMessage(i);                message.setFlag(Flags.Flag.DELETED, true);//设置已删除状态为true                if(message.isSet(Flags.Flag.DELETED))                    System.out.println("已经删除第"+i+"邮件。。。。。。。。。");            }            folder.close(true);            store.close();            System.out.println("delete ok.................................");        } catch (NoSuchProviderException e) {            e.printStackTrace();        } catch (MessagingException e) {            e.printStackTrace();        }    }         /**     * reply mail     */    public static void replyMail()    {        //test    }     }


0 0
原创粉丝点击