import org.cacert.gigi.dbObjects.NamePart;
import org.cacert.gigi.dbObjects.NamePart.NamePartType;
import org.cacert.gigi.dbObjects.User;
-import org.cacert.gigi.email.EmailProvider;
+import org.cacert.gigi.email.DelegateMailProvider;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.IterableDataset;
import org.cacert.gigi.output.template.Template;
return instance;
}
- public static class MailFetcher extends EmailProvider {
+ public static class MailFetcher extends DelegateMailProvider {
- public MailFetcher(Properties p) {}
+ Pattern[] toForward;
+
+ public MailFetcher(Properties props) {
+ super(props, props.getProperty("emailProvider.manager.target"));
+ String str = props.getProperty("emailProvider.manager.filter");
+ if (str == null) {
+ toForward = new Pattern[0];
+ } else {
+ String[] parts = str.split(" ");
+ toForward = new Pattern[parts.length];
+ for (int i = 0; i < parts.length; i++) {
+ toForward[i] = Pattern.compile(parts[i]);
+ }
+ }
+ }
@Override
public String checkEmailServer(int forUid, String address) throws IOException {
mails.put(to, hismails = new LinkedList<>());
}
hismails.addFirst(subject + "\n" + message);
+ for (int i = 0; i < toForward.length; i++) {
+ if (toForward[i].matcher(to).matches()) {
+ super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra);
+ return;
+ }
+ }
}
}