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    }