================ 发送带附件的邮件 ================ 在cn.tedu.springmail包中创建带附件的邮件发送器类: // 带附件的邮件发送器类 public class AttachmentsMailSender { public static void main(String[] args) { // 创建包含邮箱服务器配置的属性对象 Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.163.com"); // SMTP服务器地址 properties.put("mail.smtp.port", "25"); // SMTP服务器端口 properties.put("mail.smtp.auth", "true"); // 需要身份认证 // 创建包含属性对象的会话对象 Session session = Session.getInstance(properties); session.setDebug(true); try { // 通过会话对象创建传输对象 Transport transport = session.getTransport(); // 通过传输对象连接邮箱服务器 transport.connect( "smtp.163.com", "johnmin740523", "QRPYPLKSXOCPPBBN"); // 创建包含邮件内容的邮件对象 Message message = createMessage(session); // 通过传输对象发送邮件对象 transport.sendMessage(message, message.getAllRecipients()); // 关闭传输对象 transport.close(); } catch (MessagingException | UnsupportedEncodingException exception) { exception.printStackTrace(); } } // 创建包含邮件内容的邮件对象 private static Message createMessage(Session session) throws MessagingException, UnsupportedEncodingException { // 创建邮件对象 MimeMessage message = new MimeMessage(session); message.setFrom("johnmin740523@163.com"); // 发件人 message.setRecipient(RecipientType.TO, new InternetAddress("johnmin740523@163.com")); // 收件人 message.setSentDate(new Date()); // 时间 message.setSubject("带附件的邮件"); // 主题 MimeMultipart mp = new MimeMultipart(); // 容器 MimeBodyPart text = new MimeBodyPart(); // 正文 text.setContent("这是一封带附件的邮件", "text/html;charset=utf-8"); mp.addBodyPart(text); // 将正文加入容器 MimeBodyPart attachment = new MimeBodyPart(); // 附件 DataSource ds = new FileDataSource( "C:\\Users\\Administrator\\Work\\34_研发课时\\肖旭伟_研发统计表.xlsx"); DataHandler dh = new DataHandler(ds); attachment.setDataHandler(dh); attachment.setFileName(MimeUtility.encodeText(dh.getName())); mp.addBodyPart(attachment); // 将附件加入容器 mp.setSubType("mixed"); // 含附件的邮件为混合类型 message.setContent(mp); // 内容 // 返回邮件对象 return message; } } 运行,登录163邮箱查看。