java 发送邮件+附件

--------------------------------绝对路径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>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值