javamail入门3--发送带有附件的邮件

javamail入门3--发送带有附件的邮件
这个例子是发送附件邮件的,到目前为止javamail的邮件发送操作基本可以满足大部分需求了
           String smtp_host = "smtp.faw.com.cn"; // 提供发送服务的邮件服务器  
           String user = "usrname"; // 邮件服务器登录用户名  
           String password = "password";  // 邮件服务器登录密码  
           String from = "[email protected]"; // 发送人邮件地址  
           String to = "[email protected]"; // 收件人邮件地址  
           String subject = "我的第一封邮件"; // 邮件标题  
           String content = "<font style=\"BACKGROUND-COLOR: #666699\" color=\"#ff0000\" size=\"5\">我是<a href=\"llying.iteye.com\">超文本</a></font>";//超文本内容
      
           try {  
              Properties props = new Properties();  
              //Session类定义了基本的邮件会话。就像Http会话那样,我们进行收发邮件的工作都是基于这个会话的。  
              Session session = Session.getInstance(props, null);  
             //由于Message是 一个抽象类,大多数情况下,我们使用javax.mail.internet.MimeMessage这个子类  
              MimeMessage message = new MimeMessage(session);  
     
              InternetAddress fromAddress = new InternetAddress(from);  
              message.setFrom(fromAddress);  
              InternetAddress toAddress = new InternetAddress(to);  
              message.addRecipient(Message.RecipientType.TO, toAddress);  
              message.setSubject(subject);  
              //创建Multipart的容器
	            Multipart multipart = new MimeMultipart();
	            //创建第一部分,正文部分
	            BodyPart messageBodyPart = new MimeBodyPart();
	            messageBodyPart.setContent(content, "text/html;charset=gbk");//给BodyPart对象设置内容和格式/编码方式   
	            //插入正文部分
	            multipart.addBodyPart(messageBodyPart);
	            
	            //创建第二部分,文件部分
	            messageBodyPart = new MimeBodyPart();
                // 获得附件
                DataSource source = new FileDataSource("D:\\workspace\\fwk\\javamail\\lib.zip");
                //设置附件的数据处理器
                messageBodyPart.setDataHandler(new DataHandler(source));
                //设置附件名
                messageBodyPart.setFileName("D:\\workspace\\fwk\\javamail\\lib.zip");
                //将附件插入
                multipart.addBodyPart(messageBodyPart);
                /**
                 * 上面的附件插入可以进行循环插入多个
                 */
                
                //将多部分内容放到e-mail中
                message.setContent(multipart);

                //保存对于e-mail的修改
                message.saveChanges();

              Transport transport = session.getTransport("smtp");  
              transport.connect(smtp_host, user, password);  
              transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));  
              transport.close();  
     
          } catch(Exception m) {  
              m.printStackTrace();  
          }  

你可能感兴趣的:(html,工作,Gmail)