/** * Return the mail autoconfig instance. * * @return Horde_Mail_Autoconfig The singleton instance. */ public function create(Horde_Injector $injector) { /* Need to manually set the drivers, since we should be using Horde * objects for Http_Client and Net_DNS2_Resolver. The return from * getDrivers() is already in priority order, so we don't need to * worry about that. */ $drivers = array(); foreach (Horde_Mail_Autoconfig::getDrivers() as $val) { $val = clone $val; if ($val instanceof Horde_Mail_Autoconfig_Driver_Guess || $val instanceof Horde_Mail_Autoconfig_Driver_Srv) { $val->dns = $injector->getInstance('Net_DNS2_Resolver'); } elseif ($val instanceof Horde_Mail_Autoconfig_Driver_Thunderbird) { $val->http = $injector->getInstance('Horde_Http_Client'); } $drivers[] = $val; } return new Horde_Mail_Autoconfig(array('drivers' => $drivers)); }