这问题百度了说账号密码错误。明明是对的!说邮箱设置里面STMP没有启动,明明是启动的。实在是找不到哪里错了!求大神帮忙啊
源码
第一个类
// 发送邮件的服务器的IP(或主机地址)
 private String mailServerHost;
 // 发送邮件的服务器的端口
 private String mailServerPort = "25";
 // 发件人邮箱地址
 private String fromAddress;
 // 收件人邮箱地址
 private String toAddress;
 // 登陆邮件发送服务器的用户名
 private String userName;
 // 登陆邮件发送服务器的密码
 private String password;
 // 是否需要身份验证
 private boolean validate = false;
 // 邮件主题
 private String subject;
 // 邮件的文本内容
 private String content;
 // 邮件附件的文件名
 private String[] attachFileNames;
 
 public MailSenderInfo(){
 
 }
 public Properties getProperties() {
 Properties p = new Properties();
 p.put("mail.smtp.host", this.mailServerHost); //邮件协议
 p.put("mail.smtp.port ", this.mailServerPort);
 p.put("mail.smtp.auth","true");
 return p;
 }
 public String getMailServerHost() {
 return mailServerHost;
 }
 public void setMailServerHost(String mailServerHost) {
 this.mailServerHost = mailServerHost;
 }
 public String getMailServerPort() {
 return mailServerPort;
 }
 public void setMailServerPort(String mailServerPort) {
 this.mailServerPort = mailServerPort;
 }
 public boolean isValidate() {
 return validate;
 }
 public void setValidate(boolean validate) {
 this.validate = validate;
 }
 public String[] getAttachFileNames() {
 return attachFileNames;
 }
 public void setAttachFileNames(String[] fileNames) {
 this.attachFileNames = fileNames;
 }
 public String getFromAddress() {
 return fromAddress;
 }
 public void setFromAddress(String fromAddress) {
 this.fromAddress = fromAddress;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public String getToAddress() {
 return toAddress;
 }
 public void setToAddress(String toAddress) {
 this.toAddress = toAddress;
 }
 public String getUserName() {
 return userName;
 }
 public void setUserName(String userName) {
 this.userName = userName;
 }
 public String getSubject() {
 return subject;
 }
 public void setSubject(String subject) {
 this.subject = subject;
 }
 public String getContent() {
 return content;
 }
 public void setContent(String textContent) {
 this.content = textContent;
 }
第二个类
String userName = null;
 String password = null;
 
 public MyAuthenticator() {
 
 }
 public MyAuthenticator(String username, String password) {
 this.userName = username;
 this.password = password;
 }
 protected PasswordAuthentication getPasswordAuthentication() {
 return new PasswordAuthentication(userName, password);
 }
第三个类
// 判断是否需要身份认证
 Authenticator authenticator = null;
 Properties pro = mailInfo.getProperties();
 if (mailInfo.isValidate()) {
 // 如果需要身份认证,则创建一个密码验证器
 
 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
 }
 // 根据邮件会话属性和密码验证器构造一个发送邮件的session
 Session sendMailSession = Session.getInstance(pro, authenticator);
 try {
 // 根据session创建一个邮件消息
 Message mailMessage = new MimeMessage(sendMailSession);
 // 创建邮件发送者地址
 Address from = new InternetAddress(mailInfo.getFromAddress());
 // 设置邮件消息的发送者
 mailMessage.setFrom(from);
 // 创建邮件的接收者地址,并设置到邮件消息中
 Address to = new InternetAddress(mailInfo.getToAddress());
 mailMessage.setRecipient(Message.RecipientType.TO, to);
 // 设置邮件消息的主题
 mailMessage.setSubject(mailInfo.getSubject());
 // 设置邮件消息发送的时间
 mailMessage.setSentDate(new Date());
 // 设置邮件消息的主要内容
 String mailContent = mailInfo.getContent();
 mailMessage.setText(mailContent);
 // 发送邮件
 Transport.send(mailMessage);
 return true;
 } catch (MessagingException ex) {
 ex.printStackTrace();
 }
 return false;
 }
 
 public static boolean sendHtmlMail(MailSenderInfo mailInfo) {
 // 判断是否需要身份认证
 MyAuthenticator authenticator = null;
 Properties pro = mailInfo.getProperties();
 // 如果需要身份认证,则创建一个密码验证器
 if (mailInfo.isValidate()) {
 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
 }
 // 根据邮件会话属性和密码验证器构造一个发送邮件的session
 Session sendMailSession = Session.getInstance(pro, authenticator);
 try {
 // 根据session创建一个邮件消息
 Message mailMessage = new MimeMessage(sendMailSession);
 // 创建邮件发送者地址
 Address from = new InternetAddress(mailInfo.getFromAddress());
 // 设置邮件消息的发送者
 mailMessage.setFrom(from);
 // 创建邮件的接收者地址,并设置到邮件消息中
 Address to = new InternetAddress(mailInfo.getToAddress());
 // Message.RecipientType.TO属性表示接收者的类型为TO
 mailMessage.setRecipient(Message.RecipientType.TO, to);
 // 设置邮件消息的主题
 mailMessage.setSubject(mailInfo.getSubject());
 // 设置邮件消息发送的时间
 mailMessage.setSentDate(new Date());
 // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
 Multipart mainPart = new MimeMultipart();
 // 创建一个包含HTML内容的MimeBodyPart
 BodyPart html = new MimeBodyPart();
 // 设置HTML内容
 html.setContent(mailInfo.getContent(),"text/html; charset=utf-8");
 mainPart.addBodyPart(html);
 // 将MiniMultipart对象设置为邮件内容
 mailMessage.setContent(mainPart);
 // 发送邮件
 Transport.send(mailMessage);
 return true;
 } catch (MessagingException ex) {
 ex.printStackTrace();
 }
 return false;
 }
测试类
// 设置邮件服务器信息
 MailSenderInfo mailInfo = new MailSenderInfo();
 mailInfo.setMailServerHost("smtp.163.com");
 mailInfo.setMailServerPort("25");
 mailInfo.setValidate(true);
 // 邮箱用户名
 mailInfo.setUserName("lc15573575277@163.com");
 // 邮箱密码//
 mailInfo.setPassword("密码就不给大家看了...");
 // 发件人邮箱
 mailInfo.setFromAddress("lc15573575277@163.com");
 // 收件人邮箱
 mailInfo.setToAddress("13266716642@163.com");
 // 邮件标题
 mailInfo.setSubject("测试邮件");
 // 邮件内容
 StringBuffer buffer = new StringBuffer();
 buffer.append("测试已成功!");
 mailInfo.setContent(buffer.toString());
 // 发送邮件
 SimpleMailSender sms = new SimpleMailSender();
 // 发送文体格式
 sms.sendTextMail(mailInfo);
 // 发送html格式
 SimpleMailSender.sendHtmlMail(mailInfo);
 System.out.println("邮件发送完毕");
 }
邮箱问题。换几个邮箱试试就OK咯