Android 代码发送email含附件

来源:互联网 发布:淘宝求好评短信 编辑:程序博客网 时间:2024/05/16 15:27
email jar下载链接:http://pan.baidu.com/s/1qY5JCr6
package com.kunulo.library_email_send;

import java.io.File;

import java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Multipart;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;public class EmailHandle { private String host = ""; //smtp服务器 private String from = ""; //发件人地址 private String to = ""; //收件人地址 private String affix = ""; //附件地址 private String affixName = ""; //附件名称 private String user = ""; //用户名 private String pwd = ""; //密码 private String subject = ""; //邮件标题 private String textMsg = ""; //邮件正文 public void setAddress(String from,String to,String subject, String textMsg){ this.from = from; this.to = to; this.subject = subject; this.textMsg = textMsg; } public void setAffix(String affix,String affixName){ this.affix = affix; this.affixName = affixName; } public void send(String host,String user,String pwd) throws MessagingException { this.host = host; this.user = user; this.pwd = pwd; Properties props = new Properties(); //设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器) props.put("mail.smtp.host", host); //需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条) props.put("mail.smtp.auth", "true"); //用刚刚设置好的props对象构建一个session Session session = Session.getDefaultInstance(props); //有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使 //用(你可以在控制台(console)上看到发送邮件的过程) session.setDebug(true); //用session为参数定义消息对象 MimeMessage message = new MimeMessage(session); //加载发件人地址 message.setFrom(new InternetAddress(from)); //加载收件人地址 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); //加载标题 message.setSubject(subject); // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件 Multipart multipart = new MimeMultipart(); // 设置邮件的文本内容 BodyPart contentPart = new MimeBodyPart(); contentPart.setText(textMsg); multipart.addBodyPart(contentPart); //添加附件 BodyPart messageBodyPart = new MimeBodyPart(); File file = new File(affix); DataSource source = new FileDataSource(file); //添加附件的内容 messageBodyPart.setDataHandler(new DataHandler(source)); //添加附件的标题 messageBodyPart.setFileName(file.getName()); multipart.addBodyPart(messageBodyPart); //将multipart对象放到message中 message.setContent(multipart); //保存邮件 message.saveChanges(); // 发送邮件 Transport transport = session.getTransport("smtp"); //连接服务器的邮箱 transport.connect(host, user, pwd); //把邮件发送出去 transport.sendMessage(message, message.getAllRecipients()); transport.close(); }// public static void main(String[] args){// EmailHandle cn = new EmailHandle();// //设置发件人地址、收件人地址和邮件标题// cn.setAddress("****@kunulo.cn", "****@qq.com", "标题", "正文");// //设置要发送附件的位置和标题// cn.setAffix(parentPath, "附件名称");// //设置smtp服务器以及邮箱的帐号和密码// cn.send("smtp.kunulo.cn", "***@kunulo.cn", "密码"); //smtp.kunulo.cn 我司阿里企业邮箱的服务器地址//// }}

原创粉丝点击