一,需要使用的jar 包有:
- mail.jar
- activation.jar
二,测试代码
package javaproject.mail;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/***
*
* @author wwp
* @date 2016年10月30日上午1:03:53
* @note 邮件发送测试
*/
public class MailTest {
public static void main(String[] args) {
String fromMail = "***"; //发送邮箱
String toMail = "***"; //接收邮箱
String host = "smtp.163.com"; // 邮箱协议
Properties prop = System.getProperties();
prop.setProperty("mail.smtp.host", host);
prop.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(prop, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("***", "***"); //发件人邮件用户名和授权码
}
});
// 发送邮件
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromMail));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(toMail));
message.setSubject("subject");
message.setText("text test");
Transport.send(message); // 发送邮件
System.out.println("邮件发送成功");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
注意:
使用邮箱协议需要到邮件设置,可以使用 授权码当作密码使用