您的位置:首页 > 编程语言 > Java开发

Java 发送邮件&发送正文&添加附件

2017-03-14 16:15 357 查看
发送邮件案例

1.简单设置发送邮件内容

2.载体设置发送邮件内容

3.载体发送邮件内容+发送附件

 
      public
void
sendEmailMsg(){
          Properties props =
new
Properties(); 
          props.put("mail.smtp.host",
"smtp.exmail.qq.com");//邮件服务器端口
          props.put("mail.smtp.auth",
"true");  //是否验证用户名和密码正确
          props.put("from_user","from_user"); 
//发送者
          props.put("pwd",
"password"); //密码
          props.put("to_user","to_user");//接收者
          Session session = Session.getDefaultInstance(props); 
//创建session javax.mail.Session
         // 开启debug调试
          session.setDebug(false); 

          try {
             //发送源地址
             InternetAddress fromAddress =
new InternetAddress(props.getProperty("from_user")); 

            //发送到地址
             InternetAddress toAddress =
new InternetAddress(props.getProperty("to_user")); 

             
             //创建邮件载体
             MimeMessage message =
new MimeMessage(session); 

             //设定发件邮箱地址
             message.setFrom(fromAddress); 

             //设定收件邮箱地址
             //RecipientType.TO   --
收件人
             //RecipientType.CC   --
抄送人
             //RecipientType.BCC  --
暗送人[不显示发件人信息]
             message.addRecipient(RecipientType.TO,
toAddress);
             message.addHeader("charset",
"UTF-8");
             message.setSentDate(Calendar.getInstance().getTime());  
             //标题信息  Title
              message.setSubject("标题信息"); 

             
              /****************最简单的内容信息发送************************/
               message.setContent("<div align=\"center\">你好啊</div>",
"text/html;charset=utf-8");
               Transport transport0 =
session.getTransport("smtp"); 

               transport0.connect(props.getProperty("mail.smtp.host"),
props.getProperty("from_user"),
props.getProperty("pwd"));
               //发送邮件
               transport0.sendMessage(message,
message.getAllRecipients()); 
              /****************************************/
           
              //添加正文内容
              /***********直接发送<不含有附件>***************/
              Multipart multipart =
new MimeMultipart(); 
              BodyPart contentPart =
new MimeBodyPart(); 
              contentPart.setText("Text内容");
              multipart.addBodyPart(contentPart);
              message.setContent(multipart);
            
              Transport transport =
session.getTransport("smtp"); 

              transport.connect(props.getProperty("mail.smtp.host"),
props.getProperty("from_user"),
props.getProperty("pwd")); 

              //发送邮件
              transport.sendMessage(message,
message.getAllRecipients()); 
             
              /***********end**************/
             
             
              /***********添加附件&设置正文信息**************/
              //添加附件
              File usFile =
new
File("filepath"); 

              //添加附件内容
              MimeBodyPart fileBody =
new MimeBodyPart(); 
              DataSource source =
new FileDataSource(usFile);

              //附件信息添加在载体内容中
              fileBody.setDataHandler(new DataHandler(source));
              fileBody.setText("这里是正文信息..............");
              //处理中文文件名乱码
              fileBody.setFileName(MimeUtility.encodeText(usFile.getName()));

              multipart.addBodyPart(fileBody); 

              message.setContent(multipart); 

              message.setSentDate(new Date()); 

              message.saveChanges();

             
              Transport transport2 =
session.getTransport("smtp"); 

              transport2.connect(props.getProperty("mail.smtp.host"),
props.getProperty("from_user"),
props.getProperty("pwd")); 

              //发送邮件
              transport2.sendMessage(message,
message.getAllRecipients()); 
              transport2.close(); 

              /***********end**************/
         
           } catch (Exception
e) {
                 e.printStackTrace();
           }
      }
     

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: