List-Unsubscribe: match links/email addresses

pull/194/merge
M66B 4 years ago
parent 3e7704dff3
commit bb88910d88

@ -87,6 +87,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Properties; import java.util.Properties;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.activation.DataHandler; import javax.activation.DataHandler;
@ -1928,10 +1929,18 @@ public class MessageHelper {
String scheme = uri.getScheme(); String scheme = uri.getScheme();
if ("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme)) if ("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme))
link = unsubscribe; link = unsubscribe;
else {
Pattern p =
Pattern.compile(PatternsCompat.AUTOLINK_WEB_URL.pattern() + "|" +
PatternsCompat.AUTOLINK_EMAIL_ADDRESS.pattern());
Matcher m = p.matcher(unsubscribe);
if (m.find())
link = unsubscribe.substring(m.start(), m.end());
else else
Log.w(new Throwable(unsubscribe)); Log.w(new Throwable(unsubscribe));
} }
} }
}
s = list.indexOf('<', e + 1); s = list.indexOf('<', e + 1);
e = list.indexOf('>', s + 1); e = list.indexOf('>', s + 1);

Loading…
Cancel
Save