一、引入相关的库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <!-- spring核心库 --> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-core</ artifactId > < version >4.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-beans</ artifactId > < version >4.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context</ artifactId > < version >4.2.5.RELEASE</ version > </ dependency > <!--发送Email--> < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context-support</ artifactId > < version >4.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >javax.mail</ groupId > < artifactId >mail</ artifactId > < version >1.4.7</ version > </ dependency > |
二、发送邮件代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | import org.springframework.core.io.ClassPathResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; public class SpringEmail { private JavaMailSenderImpl mailSender= null ; //邮件用户名 private String userName= "" ; //发送邮箱名称 private String from= "@163.com" ; //接收邮箱名称 private String to= "@qq.com" ; public SpringEmail() { this .mailSender = new JavaMailSenderImpl(); //邮箱smtp服务器 mailSender.setHost( "smtp.163.com" ); mailSender.setPort( 25 ); mailSender.setUsername( this .userName); //邮箱密码 mailSender.setPassword( "xxxx" ); } //普通文本Email public void sendPureMail() { SimpleMailMessage message = new SimpleMailMessage(); String spitterName = "这里是标题(纯文本)" ; message.setFrom( this .from); message.setTo( this .to); message.setSubject( "这里是标题!" ); message.setText( "这里是内容" ); this .mailSender.send(message); } //带多个附件的Email public void sendMailWithAttachment() throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true ); helper.setFrom( this .from); helper.setTo( this .to); helper.setSubject( "这里是标题(带多个附件)!" ); helper.setText( "这里是内容(带附件)" ); //添加两个附件(附件位置位于java-->resources目录),可根据需要添加或修改 ClassPathResource image = new ClassPathResource( "/coupon.jpg" ); ClassPathResource PDF = new ClassPathResource( "/Rop Reference.pdf" ); helper.addAttachment( "Coupon.png" , image); helper.addAttachment( "Rop Reference.pdf" , PDF); this .mailSender.send(message); } //带附件的HTML格式的Email public void sendMailHtmlWithAttachment() throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true , "GBK" ); //解决乱码问题 helper.setFrom( this .from); helper.setTo( this .to); helper.setSubject( "这里是标题(Html带附件)!" ); //设置META解决乱码问题 helper.setText( "<html><META http-equiv=Content-Type content='text/html; charset=GBK'><body><img src='cid:Coupon'>" + "<h4>" + "测试乱码" + " says...</h4>" + "<i>" + "测试乱码2" + "</i>" + "</body></html>" , true ); //图片嵌入到html文件中 ClassPathResource couponImage = new ClassPathResource( "/coupon.jpg" ); helper.addInline( "Coupon" , couponImage); //图片作为附件发送 ClassPathResource couponImage2 = new ClassPathResource( "/coupon.jpg" ); helper.addAttachment( "Coupon.png" , couponImage2); this .mailSender.send(message); } public static void main(String[] args) throws MessagingException{ System.out.println( "开始发送邮件" ); SpringEmail email= new SpringEmail(); //email.sendPureMail(); //email.sendMailWithAttachment(); email.sendMailHtmlWithAttachment(); System.out.println( "邮件发送成功" ); } } |