001 package com.hs.mail.util; 002 003 import com.hs.mail.imap.ImapConstants; 004 import com.sun.mail.imap.protocol.BASE64MailboxDecoder; 005 import com.sun.mail.imap.protocol.BASE64MailboxEncoder; 006 007 public class MailUtils { 008 009 // decode the name (using RFC2060's modified UTF7) 010 public static String decodeMailbox(String name) { 011 return BASE64MailboxDecoder.decode(name); 012 } 013 014 public static String encodeMailbox(String name) { 015 if (ImapConstants.INBOX_NAME.equalsIgnoreCase(name)) 016 return name.toUpperCase(); 017 else 018 return BASE64MailboxEncoder.encode(name); 019 } 020 021 public static boolean isAscii(String s) { 022 int l = s.length(); 023 for (int i = 0; i < l; i++) { 024 if ((int) s.charAt(i) > 0177) // non-ascii 025 return false; 026 } 027 return true; 028 } 029 030 public static void main(String[] args) throws Exception { 031 for (int i = 0; i < args.length; i++) { 032 System.out.println(decodeMailbox(args[i])); 033 } 034 } 035 036 }