import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message.RecipientType;
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 void send(String emailbox, //收件箱地址
String smtp, //发件箱邮件服务器地址 如 "smtp.163.com"
String from, //发件箱地址 ""
String passwd, //发件箱密码 "testkey"
String subject, //邮件标题
String content, //邮件正文
String fileName) //邮件附件文件名
{
try {
Properties props = new Properties();
props.put("mail.smtp.host", smtp);
props.put("mail.smtp.auth", "true");
Session s = Session.getDefaultInstance(props, null);
s.setDebug(true);
MimeMessage msg = new MimeMessage(s);
InternetAddress fromAddress = new InternetAddress(from);
msg.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(emailbox);
msg.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
msg.setSubject(subject);
BodyPart bp = new MimeBodyPart();
bp.setContent(content, "text/html;charset=UTF-8");
Multipart mp = new MimeMultipart();
mp.addBodyPart(bp);
//添加附件
bp = new MimeBodyPart();
FileDataSource source = new FileDataSource(fileName);
bp.setDataHandler(new DataHandler(source));
String[] FileNames = fileName.split("//");
String newFileName = FileNames[FileNames.length-1];
bp.setFileName(javax.mail.internet.MimeUtility.encodeWord(newFileName)); //中文附件名先编码
mp.addBodyPart(bp);
msg.setContent(mp);
msg.setSentDate(new Date());
msg.saveChanges();
Transport transport = s.getTransport("smtp");
transport.connect(smtp, from, passwd);
transport.sendMessage(msg, msg.getAllRecipients());
} catch (Exception ex) {
ex.printStackTrace();
}
}