Improve rule address validation

This commit is contained in:
M66B 2022-04-03 11:11:16 +02:00
parent 146f2bb8a8
commit 55ad97ad4d
1 changed files with 8 additions and 2 deletions

View File

@ -539,8 +539,14 @@ public class EntityRule {
String to = jargs.optString("to"); String to = jargs.optString("to");
if (TextUtils.isEmpty(to)) if (TextUtils.isEmpty(to))
throw new IllegalArgumentException(context.getString(R.string.title_rule_answer_missing)); throw new IllegalArgumentException(context.getString(R.string.title_rule_answer_missing));
else if (!Helper.EMAIL_ADDRESS.matcher(to).matches()) else
throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, to)); try {
InternetAddress[] addresses = MessageHelper.parseAddresses(context, to);
if (addresses == null || addresses.length == 0)
throw new IllegalArgumentException(context.getString(R.string.title_no_email));
} catch (AddressException ex) {
throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, to));
}
} else { } else {
EntityAnswer answer = db.answer().getAnswer(aid); EntityAnswer answer = db.answer().getAnswer(aid);
if (answer == null) if (answer == null)