--------------------------------绝对路径file为附件
@Test public void testSendEmail(){ JavaMailSenderImpl senderImpl = (JavaMailSenderImpl)SpringContextUtil.getBean("senderImpl"); // 建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); // 为防止乱码,添加编码集设置 MimeMessageHelper messageHelper; try { messageHelper = new MimeMessageHelper(mailMessage,true,"UTF-8"); messageHelper.setTo("17950258@qq.com"); messageHelper.setFrom("admin@shevdc.org"); messageHelper.setSubject("小帅帅用户"); messageHelper.setText("这是发送附件与内容", true);; //添加保密协议pdf附件 FileSystemResource file = new FileSystemResource("D:/java/space/src/main/webapp/download/secrecy_agreement.pdf"); messageHelper.addAttachment("保密协议", file); } catch (MessagingException e) { e.printStackTrace(); } // 发送邮件 senderImpl.send(mailMessage);}
=======================以保存临时文件发送附件===========
@Test public void testSendEmail(){ JavaMailSenderImpl senderImpl = (JavaMailSenderImpl)SpringContextUtil.getBean("senderImpl"); // 建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); // 为防止乱码,添加编码集设置 MimeMessageHelper messageHelper; try { messageHelper = new MimeMessageHelper(mailMessage,true,"UTF-8"); messageHelper.setTo("179502562@qq.com"); messageHelper.setFrom("admin@shevdc.org"); messageHelper.setSubject("小帅帅用户"); messageHelper.setText("这是发送附件与内容", true); //添加保密协议pdf附件 http://oss-cn-shanghai.aliyuncs.com/template/se_agreement.pdf String endpoint = "http://oss-chai.aliyuncs.com"; // accessKey请登录https://console.aliyun.com/#/查看 String accessKeyId = "LTAIH6"; String accessKeySecret = "92Mrzy0i3ThoK"; String bucketName = "evd"; // 创建OSSClient实例 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); File tempFile = File.createTempFile("result", ".pdf"); // 下载object到文件 ossClient.getObject(new GetObjectRequest(bucketName, "template/secrecy_agreement.pdf"), tempFile); messageHelper.addAttachment("新能源汽车数据平台保密协议", tempFile); // 发送邮件 senderImpl.send(mailMessage); } catch(MailException e){ e.printStackTrace(); }catch (Exception e) { e.printStackTrace(); } }
--------------spring-------------
<bean id="senderImpl" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.smtp.host}" />
<property name="port" value="${mail.smtp.port}" />
<property name="username" value="${mail.smtp.username}" />
<property name="password" value="${mail.smtp.password}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
<prop key="mail.smtp.socketFactory.port">${mail.smtp.port}</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
</props>
</property>
</bean>