code: private static boolean isDotAtomText(String str) {
  		// dot-atom-text = 1*atext *("." 1*atext)
  		// atext = ALPHA / DIGIT / "!" / "#" / "$" / "%" / "&" / "'" / "*" /
  		// "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
  
  		char prev = '.';
  
  		final int length = str.length();
  		if (length == 0)
  			return false;
  
  		for (int idx = 0; idx < length; idx++) {
  			char ch = str.charAt(idx);
  
  			if (ch == '.') {
  				if (prev == '.' || idx == length - 1)
  					return false;
  			} else {
  				if (!ATEXT_CHARS.get(ch))
  					return false;
  			}
  
  			prev = ch;
  		}
  
  		return true;
  	}
docs: RFC 5322 section 3.2.3