java发送邮件,正文图片,附件

本文介绍了如何使用Java发送包含正文图片和附件的HTML格式邮件,重点提及了commons-email库和MimeUtility.encodeText()方法的使用,以及需要的mail.jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用的包:commons-email-1.2-bin.zip,下载后解压取其中的jar包。

另外使用MimeUtility.encodeText()时需要mail.jar包。

发送HTML格式的邮件,代码如下:

package com.mail.test;

/**
 * 发送邮件 
 */
import java.io.File;
import java.io.UnsupportedEncodingException;

import javax.mail.internet.MimeUtility;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

public class Mail {
	
	public static void main(String [] args){
		HtmlEmail email = new HtmlEmail();
		try {
			/*** 添加附件****************************/
			EmailAttachment ea = new EmailAttachment();//创建加载附件对象
			ea.setPath("F:\\新建文件夹\\11.jpg");//附件的地址
			ea.setDisposition(EmailAttachment.ATTACHMENT);//表示附件
			ea.setDescription("通讯录");//描述
			/**  MimeUtility.encodeText() 编码,使附件的中文不会变成乱码 */
			ea.setName(MimeUtility.encodeText("11.jpg"));
			/****************************************/
			
			email.setHostName("smtp.qq.com");//服务器
			email.setAuthentication("username", "password");//验证用户
			
			email.addTo("to@qq.com");//设置接收方
			email.setFrom("from@qq.com");//设置发送方
			email.setSubject("测试");//设置主题
			email.setCharset("UTF-8");//设置编码
			
			/******设置邮件的正文部分****/
			//email.setHtmlMsg("<html><body><font color='red'>测试HTML格式的邮件!!!</font></body></html>");
			
			/*email.setHtmlMsg("<html><body><table border=1><tr><td>姓名</td>"+
		                      "<td>性别</td><td>地址</td><td>备注</td></tr>"+ "<tr><td>天天</td><td>女</td><td>广州越秀</td><td>dgfdhgfjhgj</td>"
		                      +"</tr> </table></body></html>");*/
			/**********************添加正文图片******************************/
			File img = new File("E:\\风云.bmp");
			
			email.setHtmlMsg("<h4>内含附件、图文并茂的邮件测试!!!</h4> </br>"
					+ "<a href = http://www.baidu.com/> 百度一下</a></br>" 
					+ "<img src = \"cid:"+email.embed(img)+"\"></a>");
			/******************************************************/
			email.attach(ea);//添加附件
			email.send();//发送邮件
			System.out.println("发送成功");
		} catch (EmailException e) {
			System.out.println("发送失败");
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

}


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值