只用于发送邮件,设置账号时要注意用户名和邮箱的区别
package com.landray.kmss.pro.leadroute.service.spring;
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.InternetAddress;
import javax.mail.internet.MimeMessage;
public class ToExchangeMail {
public static String sendMain(String to) {
String from = "xxx@qq.com";// 发件人电子邮箱
//获取系统属性,主要用于设置邮件相关的参数。
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", "smtp.xxx");//smtp协议地址
properties.setProperty("mail.smtp.port", "xx");//端口号
Session session = Session.getDefaultInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("发送者邮箱的用户名(不是邮箱)", "密码");//发送者账号密码
}
});
//创建MimeMessage消息对象,消息头配置了收发邮箱的地址,消息体包含了邮件标题和邮件内容。接收者类型:TO代表直接发送,CC代表抄送,BCC代表秘密抄送。
try {
MimeMessage message = new MimeMessage(session);
message.addHeader("X-Mailer","Microsoft Outlook Express 6.00.2900.2869");
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("标题");
message.setText("内容");
Transport.send(message);
System.out.println("发送成功!");
return "success";
} catch (MessagingException e) {
e.printStackTrace();
return "failed";
}
}
}
测试类:
public class MyTest {
public static void main(String[] args) {
ToExchangeMail mail=new ToExchangeMail();
mail.sendMain("接收人的邮箱");
}
}