java发送电子邮件(二)

2014-11-24 07:56:19 · 作者: · 浏览: 1
*
* 设置邮件主题
*
* @param mailSubject
* @return
*/
public boolean setSubject(String mailSubject)
{
System.out.println("设置邮件主题!");
try
{
mimeMsg.setSubject(mailSubject);
}
catch (Exception e)
{
System.err.println("设置邮件主题发生错误!");
return false;
}
return true;
}
/**
* 设置邮件内容,并设置其为文本格式或HTML文件格式,编码方式为UTF-8
*
* @param mailBody
* @return
*/
public boolean setBody(String mailBody)
{
try
{
System.out.println("设置邮件体格式");
BodyPart bp = new MimeBodyPart();
bp.setContent("" + mailBody,
"text/html;charset=UTF-8");
// 在组件上添加邮件文本
mp.addBodyPart(bp);
}
catch (Exception e)
{
System.err.println("设置邮件正文时发生错误!" + e);
return false;
}
return true;
}
/**
* 增加发送附件
*
* @param filename
* 邮件附件的地址,只能是本机地址而不能是网络地址,否则抛出异常
* @return
*/
public boolean addFileAffix(String filename)
{
System.out.println("增加邮件附件:" + filename);
try
{
BodyPart bp = new MimeBodyPart();
FileDataSource fileds = new FileDataSource(filename);
bp.setDataHandler(new DataHandler(fileds));
// 发送的附件前加上一个用户名的前缀
bp.setFileName(fileds.getName());
// 添加附件
mp.addBodyPart(bp);
}
catch (Exception e)
{
System.err.println("增加邮件附件:" + filename + "发生错误!" + e);
return false;
}
return true;
}
/**
* 设置发件人地址
*
* @param from
* 发件人地址
* @return
*/
public boolean setFrom(String from)
{
System.out.println("设置发信人!");
try
{
mimeMsg.setFrom(new InternetAddress(from));
}
catch (Exception e)
{
return false;
}
return true;
}
/**
* 设置收件人地址
*
* @param to
* 收件人的地址
* @return
*/
public boolean setTo(String to)
{
System.out.println("设置收信人");
if (to == null)
return false;
try
{
mimeMsg.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(to));
}
catch (Exception e)
{
return false;
}
return true;
}
/**
* 发送附件
*
* @param copyto
* @return
*/
public boolean setCopyTo(String copyto)
{
System.out.println("发送附件到");
if (copyto == null)
return false;
try
{
mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC, InternetAddress.parse(copyto));
}
catch (Exception e)
{
return false;
}
return true;
}
/**
* 发送邮件
*
* @return
*/
public boolean sendout()
{
try
{
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
System.out.println("正在发送邮件....");
Session mailSession = Session.getInstance(props, null);
Transport tr