javamail邮件发送

package com.svse.javamail;

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

//demo的副本
public class Demo2 {
 public static void main(String []args)throws Exception{
  
  //配置环境
  Properties props=new Properties();
  //是否要求认证
  props.setProperty("mail.smtp.auth","true");
  props.setProperty("mail.transport.protocol","smtp");
  
  //创建session对象,它需要一个props
  Session session=Session.getInstance(props);
  //调试信息
  session.setDebug(true);
  
  
 
  //创建一封邮件MimeMessage,他需要一个session对象
  MimeMessage msg=new MimeMessage(session);
  
  //主题
  msg.setSubject("给易水寒的答复");
  //发件人显示为胡进辉博客
  msg.setFrom(new InternetAddress("\""+MimeUtility.encodeText("胡进辉博客")+"\"<
hujinhuiisgood@163.com>"));
  //对方收到邮件,回复给谁,这里可以填自己邮箱,也可以填别人的邮箱
  msg.setReplyTo(new Address[]{new InternetAddress("
hujinhuiisgood@163.com")});
  //多个收件人
  msg.setRecipients(RecipientType.TO,InternetAddress.parse(MimeUtility.encodeText("易水寒")+" <
505153452@qq.com>," +MimeUtility.encodeText("西门吹雪") +" <hujinhuiisgood@sina.com>"));
 
    
  
  //创建复杂体,复杂体的类型指定为mixed
  //表示这个邮件的混合体,包括body和附件,具体看img文件下的图片
  MimeMultipart msgMimeMultipart=new MimeMultipart("mixed");
  //MimeMultipart表示复杂的组合体
  //设置内容,加载复杂体,复杂体作为信件的内容
  msg.setContent(msgMimeMultipart);
  //复杂体的组成部分
  //信件内容
  MimeBodyPart content=new MimeBodyPart();
  //附件1
  MimeBodyPart attch1=new MimeBodyPart();
  //附件2
  MimeBodyPart attch2=new MimeBodyPart();
  
  //把内容,附件,加载到复制体里面
  msgMimeMultipart.addBodyPart(attch1);
  msgMimeMultipart.addBodyPart(attch2);
  msgMimeMultipart.addBodyPart(content);
  
  
  //上面的已经把框架搭好了,下面就是 构建里面的具体内容
     //DataHandler用于包装一个文件的数据
  //创建数据源
  DataSource ds=new FileDataSource("D:\\andoid\\品文化.txt");
  //创建一个DataHandler,他需要一个数据源
  DataHandler dh1=new DataHandler(ds);
  //加载附件dh1
  attch1.setDataHandler(dh1);
  //附件名
  //解决中文编码,正常显示中文文件名
  attch1.setFileName(MimeUtility.encodeText("中文wj.txt"));
  
  //附件2
  DataSource ds2=new FileDataSource("D:\\55647.gif");
  DataHandler dh2=new DataHandler(ds2);
  attch2.setDataHandler(dh2);
  attch2.setFileName("logo.gif");
  
  //内容,内容是个复杂体
  //插入的图片和内容是关联关系
  MimeMultipart bodyMimeMultipart=new MimeMultipart("related");
  //内容是复杂体
  content.setContent(bodyMimeMultipart);
  //复杂体的组成部分
  MimeBodyPart htmlpart=new MimeBodyPart();
  MimeBodyPart gifpart=new MimeBodyPart();
  //把内容和图片加载到复杂体上
  bodyMimeMultipart.addBodyPart(gifpart);
  bodyMimeMultipart.addBodyPart(htmlpart);
  
 
   
   
  
  
  DataSource gifds = new FileDataSource("D:\\zh.gif");
  
  
  //和上面一样,需要一个DataHandler的箱子,而箱子内面的内容和数据源,又来源于datasource
  DataHandler gifdh=new DataHandler(gifds);
  //给内容插入图片
  gifpart.setDataHandler(gifdh);
  
  gifpart.setHeader("Content-Location","
http://mail.163.com/zh.gif");
  htmlpart.setContent("天气晚来秋,没有数据库<img src='http://mail.163.com/zh.gif'>","text/html;charset=gbk");
  //结束生成复杂文本
  msg.saveChanges();
  //这首msg就可以交给transport来发了
  
  //制造火箭  
 Transport  transport=session.getTransport();
 transport.connect("smtp.163.com",25,"hujinhuiisgood@163.com","邮箱登陆密码");
  
  //发送和收件人
 transport.sendMessage(msg,new Address[]{new InternetAddress("
hujinhuiisgood@sina.com")});
 
 transport.close();
 
 
 }
 
 

}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值