上一篇文章已经在linux环境下搭建了邮件服务器,也就是说我们发邮件的时候不用借助别人的SMTP服务器,利用本地的就行了。一开始我们已经利用javamail发送了一封简单的邮件,现在要发送一封带HTML格式的邮件,我现在贴上关键代码。
public class JavaMail2 {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
String tto="fantlam@163.com";//收件人地址
String ttitle="这是邮件的标题";
String tcontent="<font color='red'>这是邮件的内容</font>";//这里把内容加了HTML标签
Properties props=new Properties();
props.put("mail.smtp.host","127.0.0.1");//其实这一部没加也发现有什么错
props.put("mail.smtp.auth","true");
Session s=Session.getInstance(props);
s.setDebug(true);
MimeMessage message=new MimeMessage(s);
InternetAddress from=new InternetAddress("fantlam@fantlam.com");//设置收信人
message.setFrom(from);
InternetAddress to=new InternetAddress(tto);
message.setRecipient(Message.RecipientType.TO,to);
message.setSubject(ttitle);
message.setSentDate(new Date());
//给消息对象设置内容
BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
mdp.setContent(tcontent,"text/html;charset=gb2312"); //给BodyPart对象设置内容和格式/编码方式
Multipart test=new MimeMultipart();//新建一个MimeMultipart对象用来存放对象
test.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中
message.setContent(test);//把mm作为消息对象的内容
message.saveChanges();
Transport transport=s.getTransport("smtp");
transport.connect("127.0.0.1","fantlam@fantlam.com","123456");//这里我们可以利用自己在本地设置的域名和自己的账号密码
transport.sendMessage(message,message.getAllRecipients());
transport.close();
}
代码在redhat9下运行
打开邮箱看一看,邮件已经收到了,字体是红色的,说明可以代码可以实现发送带HTML格式的邮件了。注意一下它的时间是2009-4-2,而今天是4月3号了。看上图知道它的时间是认邮件服务器的,当时redhat系统的时间是4月2号
可以发现控制台总会输出那写信息,这是跟邮件命令有关的。
下一篇我将说说邮件命令