1.qq邮箱去设置中开启 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 并记住16位授权码
2.maven的pom文件引入依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
3. //创建邮件发送服务器 端口只能为25, 465会报错,原因不详,其他配置参考客户端使用文档
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.qq.com");
mailSender.setPort(25);
mailSender.setUsername("123456789@qq.com");
mailSender.setPassword("qwertyuioplkjhgf");
mailSender.setDefaultEncoding("UTF-8");
//加认证机制, 有坑! 此处auth和tls设置需要传入字符串类型的 "true"
Properties javaMailProperties = new Properties();
javaMailProperties.put("mail.smtp.auth", "true");
javaMailProperties.put("mail.smtp.starttls.enable", "true");
javaMailProperties.put("mail.smtp.timeout", 5000);
mailSender.setJavaMailProperties(javaMailProperties);
//创建简单邮件内容
SimpleMailMessage message=new SimpleMailMessage();
message.setFrom("123456789@qq.com");
message.setTo("987654321@qq.com");
message.setSubject("发票");
message.setText("id号:"+auditId);
//创建html内容,参数String subject,String conten
MimeMessage mail = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mail);
helper.setFrom(username);
helper.setTo("595746437@qq.com");
helper.setSubject(subject);
helper.setText(content, true);
//发送邮件
mailSender.send(message);
//获得发票申请通知邮件内容
public static String getInvoiceContent(String type, String name, String bank, String account, String taxpayerNumber, String registerAddress,String phone, String money, String content, String mailAddress, String recipients, String recipientsPhone) {
StringBuilder sb = new StringBuilder();
sb.append("<style>")
.append(".p_ind{text-indent:2em; }")
.append("p,div{line-height: 50% ;font-size:13px; }</style>\n")
.append("<html>")
.append("<body>")
.append("<p >Hi,</p><br>")
.append("<div ><p>厂商申请开发票,麻烦安排发票寄给对方!</p><br></div>")
.append("<div><p class=\"p_ind\">申请发票: "+ type +"</p><br></div>")
.append("<div ><p class=\"p_ind\">公司名称: "+ name +"</p>")
.append("<p class=\"p_ind\">开户行: "+ bank +"</p>")
.append("<p class=\"p_ind\">账号: "+ account +"</p>")
.append("<p class=\"p_ind\">纳税人识别号: "+ taxpayerNumber +"</p>")
.append("<p class=\"p_ind\">注册地址: "+ registerAddress +"</p>")
.append("<p class=\"p_ind\">电话: "+ phone +"</p><br></div>")
.append("<div><p class=\"p_ind\">开票金额: "+ money +"</p>")
.append("<p class=\"p_ind\">内容: "+ content +"</p><br></div>")
.append("<div><p class=\"p_ind\">邮寄地址: "+ mailAddress +"</p>")
.append("<p class=\"p_ind\">收件人: "+ recipients +"</p>")
.append("<p class=\"p_ind\">收件人电话: "+ recipientsPhone +"</p></div>")
.append("</body>").append("</html>");
return sb.toString();
}