博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四周作业 简单地邮件发送实现
阅读量:4676 次
发布时间:2019-06-09

本文共 4139 字,大约阅读时间需要 13 分钟。

先说发送邮箱用到的三大类:

  创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。

  发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。

  接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。

  还有一个提供会话信息的类Session。

简单地邮件发送的过程:

相关的协议说明:见

   smtp:http://baike.baidu.com/link?url=b7Wu4usOdwRnTh3LEZgThoDescGdG9KnEnkdQ-yCRbmFwfB70BZK7issKSRo4h7c6iF1Fzd-zGPksVHBeKAyHK

  pop3:http://baike.baidu.com/view/5404.htm

  

相关的代码:

首先要导入支持发送邮件的相关的包。

  

1 package com.hyq.test; 2  3 import java.util.Properties; 4  5 import javax.mail.Address; 6 import javax.mail.Message; 7 import javax.mail.MessagingException; 8 import javax.mail.Session; 9 import javax.mail.Transport;10 import javax.mail.internet.InternetAddress;11 import javax.mail.internet.MimeMessage;12 13 14 public class DemoTest {15     public static void main(String[] args) throws MessagingException {16         Properties pros=new Properties();17         //设置用户授权才可以登陆18         pros.setProperty("mail.smtp.auth", "true");19         pros.setProperty("mail.transport.protocol", "smtp");20         21         Session session=Session.getInstance(pros);22         Message msg=new MimeMessage(session);23         msg.setFrom(new InternetAddress("hepan2013551631@sina.com"));24         msg.setText("好的,我爱你");25         session.setDebug(true) ;26         27         Transport tran=session.getTransport(); 28         tran.connect("smtp.sina.com", 25, "hepan2013551631", "hepan2013551631");29         tran.sendMessage(msg,new Address[]{
new InternetAddress("13257499906@163.com")});30 tran.close();31 }32 33 34 }
View Code

 

控制台输出信息说明邮件发送成功:

 

进入自己的163邮箱可见自己刚才发送的邮件

 

还可以实现添加多附件发送的要用到的类:MimeMultipart,

相应的代码可参考:

1 package cn.hp.mail; 2  3 import java.io.FileInputStream; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.util.Properties; 7  8 import javax.activation.DataHandler; 9 import javax.activation.DataSource;10 import javax.activation.FileDataSource;11 import javax.mail.MessagingException;12 import javax.mail.Session;13 import javax.mail.internet.MimeBodyPart;14 import javax.mail.internet.MimeMessage;15 import javax.mail.internet.MimeMultipart;16 17 public class Demo3 {18     public static void main(String[] args) throws MessagingException, IOException {19         Properties pros=new Properties();20         Session session=Session.getInstance(pros);21         MimeMessage msg=new MimeMessage(session);22         msg.setSubject("哈哈制造");23         24         MimeMultipart msgMultipart=new MimeMultipart("mixed");25         MimeBodyPart content=new MimeBodyPart();26         MimeBodyPart attach1=new MimeBodyPart();27         MimeBodyPart attach2=new MimeBodyPart();28         msg.setContent(msgMultipart);29         30         msgMultipart.addBodyPart(attach2);31         msgMultipart.addBodyPart(attach1);32         msgMultipart.addBodyPart(content);33         34         DataSource ds=new FileDataSource("D:\\log\\1.txt");35         DataHandler dh1=new DataHandler(ds);36         attach1.setDataHandler(dh1);37         attach1.setFileName("java1.txt");//设置附件的文件名38         39         DataSource ds2=new FileDataSource("D:\\log\\1.txt");40         DataHandler dh2=new DataHandler(ds2);41         attach2.setDataHandler(dh2);42         attach2.setFileName("java2.txt");43         44         MimeMultipart bodyMimeMultipart=new MimeMultipart("related");45         46         content.setContent(bodyMimeMultipart);47         48         MimeBodyPart htmlPart=new MimeBodyPart();49         MimeBodyPart jifPart=new MimeBodyPart();50         bodyMimeMultipart.addBodyPart(htmlPart);51         bodyMimeMultipart.addBodyPart(jifPart);52         53         DataSource jifds=new FileDataSource("D:\\log\\2.txt");54         DataHandler jifdh=new DataHandler(jifds);55         jifPart.setDataHandler(jifdh);56         57         htmlPart.setDescription("哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈");58         59         msg.saveChanges();60         FileOutputStream fileoutStream = new FileOutputStream("D:\\图库\\2.eml");61         62         msg.writeTo(fileoutStream);63         fileoutStream.close();64     }65 66 }
View Code

 

转载于:https://www.cnblogs.com/he-123/p/5323811.html

你可能感兴趣的文章
团队作业
查看>>
如何避免在简单业务逻辑上面的细节上面出错
查看>>
大型网站高并发的架构演变图-摘自网络
查看>>
8丶运行及总结
查看>>
Design Pattern --- Strategy
查看>>
mui列表跳转到详情页优化方案
查看>>
一些简单有用的方法合集
查看>>
Neutron 架构 - 每天5分钟玩转 OpenStack(67)
查看>>
详解JS设计模式
查看>>
CPSR寄存器
查看>>
Java基础50题test7—处理字符串
查看>>
保险行业电话外呼型呼叫中心方案
查看>>
自建型呼叫中心
查看>>
input file 文件上传,js控制上传文件的大小和格式
查看>>
Day 6 函数与模块
查看>>
WebApi请求原理
查看>>
[Node.js] node-persist: localStorage on the server
查看>>
jquery.event 研究学习之bind篇
查看>>
LOJ #108. 多项式乘法
查看>>
libusb开发指南
查看>>