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