您的位置:首页 > 编程语言 > Java开发

java 发送邮件+附件

2017-04-07 16:13 459 查看
--------------------------------绝对路径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>


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaMailSenderImpl