JavaMail简单收发邮件
来源:互联网 发布:黄药师软件视频 编辑:程序博客网 时间:2024/06/04 00:27
JavaMail简单收发邮件
首先准备 javax.mail.jar,将jar包导入java工程,开始编写代码
邮件参数类,定义好邮件需要的一些参数字段
/** * @Title: MailParam.java * @desc: 邮件参数bean * @author mengchuan.li */public class MailParam { private int port;// 端口 private String host;// 服务器 private String user;// 登录名 private String password;// 密码 private String from;// 发送邮箱 private String to;// 接受邮箱 private boolean isSSL;// SSL加密 private String agreement;// 协议类型 private String contant;//正文 private String subject;//标题 /****get set****/ ..............}
邮件发送
/** * * @Title: sendMessage * @Desc: 发送邮件 stmp * @param mail */ public void sendMessage(MailParam mail) { System.out.println("开始发送邮件"); Properties props = new Properties(); props.put("mail.transport.protocol", mail.getAgreement()); props.put("mail.smtp.host", mail.getHost()); props.put("mail.smtp.port", mail.getPort()); //邮件服务器ssl加密// if (mail.isSSL()) {// props.put("mail.smtp.starttls.enable", "true");// MailSSLSocketFactory sf = null;// try {// sf = new MailSSLSocketFactory();// } catch (Exception e) {// e.printStackTrace();// }// sf.setTrustAllHosts(true);//跳过证书认证// props.put("mail.smtp.ssl.enable", "true");// props.put("mail.smtp.ssl.socketFactory", sf);// } Session mailSession = Session.getInstance(props); Message msg = new MimeMessage(mailSession); Transport transport = null; try { msg.setSubject(mail.getSubject()); msg.setFrom(new InternetAddress(mail.getFrom())); msg.setContent(mail.getContant(), "text/html;charset=UTF-8"); InternetAddress to = new InternetAddress(mail.getTo()); msg.setRecipient(RecipientType.TO, to); transport = mailSession.getTransport(); transport.connect(mail.getUser(), mail.getPassword()); transport.sendMessage(msg, msg.getAllRecipients()); } catch (Exception e) { System.out.println("邮件发送失败" + " subject:" + mail.getSubject()); e.printStackTrace(); } finally { try { transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } System.out.println("邮件发送成功"); }
邮件接收,和邮件发送类似
/** * * @Title: receiveMessage * @Desc: 接收邮件 pop3 * @param mail */ public void receiveMessage(MailParam mail) { Properties props = new Properties(); props.put("mail.transport.protocol", mail.getAgreement()); props.put("mail.pop3.host", mail.getHost()); props.put("mail.pop3.port", mail.getPort());// if (mail.isSSL()) {// props.put("mail.pop3.starttls.enable", "true");// MailSSLSocketFactory sf = null;// try {// sf = new MailSSLSocketFactory();// } catch (Exception e) {// e.printStackTrace();// }// sf.setTrustAllHosts(true);// props.put("mail.pop3.ssl.enable", "true");// props.put("mail.pop3.ssl.socketFactory", sf);//// } Session session = Session.getDefaultInstance(props); Folder folder = null; Store store = null; try { store = session.getStore(mail.getAgreement()); store.connect(mail.getUser(), mail.getPassword()); folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message[] msgs = folder.getMessages(); //遍历邮件,简单打印邮件信息 for (Message msg : msgs) { System.out.println("***************************************"); System.out.println("from: " + msg.getFrom()[0]); System.out.println("sub: " + msg.getSubject()); System.out.println("content:" + msg.getContent().toString()); System.out.println("***************************************"); } } catch (Exception e) { e.printStackTrace(); } finally { try { folder.close(false); store.close(); } catch (MessagingException e) { e.printStackTrace(); } } }
0 0
- JavaMail简单收发邮件
- 使用JavaMail收发邮件
- javamail 收发 文本邮件
- JavaMail Gmail 收发邮件
- javamail 收发邮件
- javamail 收发邮件
- 使用JavaMail收发邮件
- javamail收发邮件
- javamail收发邮件
- 使用JavaMail收发邮件
- javaMail实现收发邮件
- 使用JavaMail收发邮件
- 使用javamail收发邮件
- javamail 收发邮件
- JavaMail-收发邮件
- JavaMail-收发邮件
- javamail 收发邮件
- JavaMail 收发邮件
- java BigInteger
- recyclerview item动画
- C语言 求1000以内的回文素数
- Hibernate级联查询(多对一)
- 好文章集合
- JavaMail简单收发邮件
- C++函数重载
- Android之Activity的细枝末节
- oracle中select 1 from table是什么意思
- 内核直接NFS挂载Android文件系统启动
- CImg、libjpeg--介绍、配置(操作JPEG)
- GIT学习笔记
- Best time to go to see Dubai
- iOS应用性能调优的25个建议和技巧(20)