用java实现发送html格式的邮件

  import  javax.mail.internet.InternetAddress;
  import  javax.mail.internet.MimeMessage;
  import  javax.mail.internet.MimeUtility;
  import  javax.mail.Session;
  import  javax.mail.MessagingException;
import  javax.mail.Transport;
  
public  class  SendHtmlMail {
      public  static  void  sendMessage(String smtpHost,
                                     String from, String to,
                                     String subject, String messageText)
              throws  MessagingException,java.io.UnsupportedEncodingException {
  
          // Step 1:  Configure the mail session
          System.out.println( "Configuring mail session for: "  + smtpHost);
          java.util.Properties props =  new  java.util.Properties();
          props.setProperty( "mail.smtp.auth" "true" ); //指定是否需要SMTP验证
          props.setProperty( "mail.smtp.host" , smtpHost); //指定SMTP服务器
          props.put( "mail.transport.protocol" "smtp" );
          Session mailSession = Session.getDefaultInstance(props);
          mailSession.setDebug( true ); //是否在控制台显示debug信息
  
          // Step 2:  Construct the message
          System.out.println( "Constructing message -  from="  + from +  "  to="  + to);
          InternetAddress fromAddress =  new  InternetAddress(from);
          InternetAddress toAddress =  new  InternetAddress(to);
  
          MimeMessage testMessage =  new  MimeMessage(mailSession);
          testMessage.setFrom(fromAddress);
          testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
          testMessage.setSentDate( new  java.util.Date());
          testMessage.setSubject(MimeUtility.encodeText(subject, "gb2312" , "B" ));
  
         testMessage.setContent(messageText,  "text/html;charset=gb2312" );
          System.out.println( "Message constructed" );
  
         // Step 3:  Now send the message
          Transport transport = mailSession.getTransport( "smtp" );
          transport.connect(smtpHost,  "webmaster" "password" );
          transport.sendMessage(testMessage, testMessage.getAllRecipients());
          transport.close();
  
          System.out.println( "Message sent!" );
      }
  
      public  static  void  main(String[] args) {
  
          String smtpHost =  "localhost" ;
          String from =  "webmaster@mymail.com" ;
          String to =  "mfc42d@sohu.com" ;
          String subject =  "html邮件测试" //subject javamail自动转码
  
          StringBuffer theMessage =  new  StringBuffer();
          theMessage.append( "<h2><font color=red>这倒霉孩子</font></h2>" );
          theMessage.append( "<hr>" );
          theMessage.append( "<i>年年失望年年望</i>" );
          try  {
             SendHtmlMail.sendMessage(smtpHost, from, to, subject, theMessage.toString());
          }
          catch  (javax.mail.MessagingException exc) {
              exc.printStackTrace();
          }
          catch  (java.io.UnsupportedEncodingException exc) {
              exc.printStackTrace();
          }
      }
  }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值