public static final Pattern emailPattern = Pattern
            .compile("^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-z]{2,})$");
public static final Pattern searchForMailInStringPattern = Pattern
            .compile("[a-zA-Z0-9\\-\\.]+\\@[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,5}");
 
public static final List<String> getEMailAddressesInString(String s) {
    List<String> mails = new ArrayList<String>();
    for (Matcher m = searchForMailInStringPattern.matcher(s); m.find();) {
        String tmp = m.group();
        if (tmp.endsWith(".png"))
            continue;
        if (emailPattern.matcher(tmp).matches())
            mails.add(tmp);
    }
    return mails;
}