java邮件开发(3、用本地服务器发送带HTML格式的邮件)

2009年04月03日 JAVA 暂无评论

上一篇文章已经在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号

可以发现控制台总会输出那写信息,这是跟邮件命令有关的。

 

下一篇我将说说邮件命令

给我留言