javaMail的实现
来源:互联网 发布:wish在17年好做吗 知乎 编辑:程序博客网 时间:2024/06/17 04:04
SMTP协议(发送邮件)
把处理用户smtp请求(邮件发送请求)的邮件服务器称之为SMTP服务器,默认的端口为:25
POP3协议(接收)
把处理用户pop3请求(邮件接收请求)的邮件服务器称之为POP3服务器,默认端口为:110
服务器名称举例
smtp.163.com,pop3.163.com等
javaMail的实现
实现依赖于两个jar包:mail.jar,activation.jar
activation.jar:具体负责mail的数据源和类型等
实现过程中的核心类:
1、Session —————— 作用相当于jdbc中的connection
2、MimeMessage ———邮件信息
3、Transport—————-发送邮件
4、MimeMultipart,MimeBodyPart——附件相关类
具体实现代码如下:
Properties props = new Properties();props.setProperty("mail.host", "smtp.163.com");//设置服务器props.setProperty("mail.smtp.auth", "true");//设置是否登录认证,true为是Authenticator authenticator = new Authenticator(){ public PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication("xxxxx", "password") ;//设置用户名(xxxxx)和密码(password) }};Session session = Session.getInstance(props, authenticator);MimeMessage msg = new MimeMessage(session);try { msg.setFrom(new InternetAddress("xxxxx@163.com"));//设置发送邮箱,与之前设置的用户名一致//下面设置接收邮箱,如果是RecipientType.CC,则为抄送,如果是RecipientType.BCC则为暗送msg.addRecipients(RecipientType.TO,"aaaaa@163.com");msg.setSubject("一封邮件");//设置主题msg.setContent("这是一封邮件", "text/html;charset=utf-8");//设置内容//下面是添加附件的过程,如果不需要可以删除下面这一段//添加附件开始============================================== MimeMultipart mpart = new MimeMultipart();//主体的集合MimeBodyPart mbp1 = new MimeBodyPart();//主体部分MimeBodyPart mbp2 = new MimeBodyPart();msg.setContent(mpart);/*把邮件内容设置成多部间的集合对象,有了这一步,上面的 msg.setContent("这是一封邮件","text/html;charset=utf-8");将会被覆盖,想设置邮件内容,则需要 mbp2.setContent("这是一封邮件", "text/html;charset=utf-8");来实现*/mbp1.setContent("这是一封邮件", "text/html;charset=utf-8");mbp2.attachFile(new File("D:/1.png"));//设置附件mbp2.setFileName("meitu.png");//设置文件名称,如果是英文则正常,如果是英文则应该如下注释中的操作//mbp.setFileName(MimeUtility.encodeText("美图.png"));//如果文件名为中文则需要编码mpart.addBodyPart(mbp1);mpart.addBodyPart(mbp2);//添加附件结束================================================== Transport.send(msg);//发送} catch (AddressException e) { e.printStackTrace();} catch (MessagingException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}
以上是我学习javaMail的总结,分享一下,希望可以帮助到其他人
1 0
- javaMail的实现
- javamail 实现邮件的发送
- JavaMail实现邮件的发送
- javamail实现
- javaMail实现
- javamail实现简单的发邮件
- javamail邮件提醒通知的实现
- Spring的JavaMail实现异步发送邮件
- JavaMail实现带附件的邮件发送
- javamail的邮件发送功能实现
- 利用JavaMail实现邮件的收取
- JavaMail实现简单的邮件发送功能
- javamail实现邮箱验证的异常
- 通过spring实现javamail的那些事儿
- 基于javaMail发送邮件的实现
- spring+Struts2实现的javamail发送的html格式
- JavaMail 实现邮件发送
- javamail群发实现
- 新的一年,新的目标
- 164,将.plist文件中的数据加载到程序中
- IOS VLC 播放器 开发 滑动快进和后退
- Bootstrap图片
- SocketServer module
- javaMail的实现
- oracle中游标,函数,过程的例子
- 杭电1728 逃离迷宫(bfs过)
- 实战开发-Ashurol天气预报APP(一)
- autofs 自动挂载
- Tcp、IP的三次握手和四次握手
- iOS学习一_Xcode初体验
- NSURLConnection — POST-JSON
- 视频数字水印总结