1 package club.wpia.gigi.email;
3 import java.io.IOException;
4 import java.security.Key;
5 import java.security.cert.Certificate;
6 import java.util.Properties;
8 import club.wpia.gigi.email.EmailProvider;
10 public abstract class DelegateMailProvider extends EmailProvider {
12 private EmailProvider target;
14 public DelegateMailProvider(Properties props, String name) {
17 Class<?> c = Class.forName(name);
18 target = (EmailProvider) c.getDeclaredConstructor(Properties.class).newInstance(props);
20 } catch (ReflectiveOperationException e) {
25 public EmailProvider getTarget() {
30 public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException {
32 target.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra);
37 public String checkEmailServer(int forUid, String address) throws IOException {
39 return target.checkEmailServer(forUid, address);
45 protected void init(Certificate c, Key k) {