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 }