zoukankan      html  css  js  c++  java
  • java 邮件收发 (只能输入英文,中文需要转码)

    //发件

    package com.sun.mail;

    import java.io.UnsupportedEncodingException;
    import java.util.Properties;

    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;

    public class SendMail2 {
        public static void main(String[] args) throws UnsupportedEncodingException {
            boolean isSSL = true;
            String host = "smtp.163.com";
            int port = 465;
            String from = "发件人地址";
            String to = "收件人地址";
            boolean isAuth = true;
            final String username = "发件人地址";
            final String password = "发件人地址密码";

            Properties props = new Properties();
            props.put("mail.smtp.ssl.enable", isSSL);
            props.put("mail.smtp.host", host);
            props.put("mail.smtp.port", port);
            props.put("mail.smtp.auth", isAuth);

            Session session = Session.getDefaultInstance(props, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(username, password);
                }
            });

            try {
                Message message = new MimeMessage(session);

                message.setFrom(new InternetAddress(from));
                message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
                message.setSubject("测试邮件");
                message.setText("bingo!");

                Transport.send(message);
            } catch (AddressException e) {
                e.printStackTrace();
            } catch (MessagingException e) {
                e.printStackTrace();
            }

            System.out.println("发送完毕!");
        }
    }

    //收件

    package com.sun.mail;

    import java.io.IOException;
    import java.util.Date;
    import java.util.Properties;
    import javax.mail.Folder;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.NoSuchProviderException;
    import javax.mail.Session;
    import javax.mail.Store;

    public class FetchMail2 {
        public static void main(String[] args) throws IOException {
            String protocol = "pop3";
            boolean isSSL = true;
            String host = "pop.qq.com";
            int port = 995;
            String username = "收件人地址";
            String password = "收件人地址密码";//qq的现在需要用授权码

            Properties props = new Properties();
            props.put("mail.pop3.ssl.enable", isSSL);
            props.put("mail.pop3.host", host);
            props.put("mail.pop3.port", port);

            Session session = Session.getDefaultInstance(props);

            Store store = null;
            Folder folder = null;
            try {
                store = session.getStore(protocol);
                store.connect(username, password);

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

                int size = folder.getMessageCount();
                Message message = folder.getMessage(size);

                String from = message.getFrom()[0].toString();
                String subject = message.getSubject();
                Date date = message.getSentDate();

                System.out.println("From: " + from);
                System.out.println("Subject: " + subject);
                System.out.println("content:"+message.getContent());
                System.out.println("Date: " + date);
            } catch (NoSuchProviderException e) {
                e.printStackTrace();
            } catch (MessagingException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (folder != null) {
                        folder.close(false);
                    }
                    if (store != null) {
                        store.close();
                    }
                } catch (MessagingException e) {
                    e.printStackTrace();
                }
            }

            System.out.println("接收完毕!");
        }
    }

  • 相关阅读:
    大规模机器学习
    机器学习之推荐系统
    SVM实现邮件分类
    机器学习之异常检测
    降维算法学习
    手写数字识别实现
    动态规划训练之十七
    概率期望训练之三
    数据结构训练之四
    绵阳东辰国际test201910.25
  • 原文地址:https://www.cnblogs.com/austinspark-jessylu/p/6215113.html
Copyright © 2011-2022 走看看