使用javamail进行邮件发送
// 在javax.mail包中的类,需要引入的。
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.activation.URLDataSource;
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;
import javax.mail.*;
看看测试方法:
public static void main(String args[]) throws Exception {
String strAttachmentFileName = "project.txt";
String fileAttachment = "http://....../project.txt";
String from = "from@mail.com.cn";
String to = "to@mail.com.cn";
Session session1;
Properties properties1 = System.getProperties();
properties1.setProperty("mail.transport.protocol", "smtp");
properties1.setProperty("mail.smtp.auth", "true");
properties1.setProperty("mail.smtp.host", "smtp.exmail.qq.com");
session1 = Session.getInstance(properties1, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
// 注册的可以发送的邮件账号
return new PasswordAuthentication(
"postmaster@mail.com.cn","password");
}
});
// Define message
MimeMessage message = new MimeMessage(session1);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Hello JavaMail Attachment");
Multipart multipart = new MimeMultipart();
// create the message part
MimeBodyPart messageBodyPart = new MimeBodyPart();
// fill message
messageBodyPart.setText(
"<h2>Hello</h2><p>This is the content for this email.</p><p>中文内容测试</p>",
"utf-8", "html");
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
// 如果有多个,多次操作添加atta
MimeBodyPart messageBodyPart1 = new MimeBodyPart();
URL fileURL = new URL(fileAttachment);
DataSource source = new URLDataSource(fileURL);
messageBodyPart1.setDataHandler(new DataHandler(source));
messageBodyPart1.setFileName(strAttachmentFileName);
multipart.addBodyPart(messageBodyPart1);
// Put parts in message
message.setContent(multipart);
// Send the message
Transport.send(message);
}
稍后到邮箱检查,可以看到发送的邮件了。