function email_robustly($recipient, $subject, $message, $headers, $smtp) { $er = error_reporting(E_ERROR); $success = mail($recipient, $subject, $message, $headers); $current_smtp = reset($smtp); while (!$success && $current_smtp) { ini_set('SMTP',$current_smtp); $success = mail($recipient, $subject, $message, $headers); $current_smtp = next($smtp); } error_reporting($er); //restore the error reporting to what it was ini_restore('SMTP'); //restore the original php.ini value of the SMTP return $success; } Hey, do you see anything wrong with this function I use to wrap the mail() function to provide smtp failover? Particularly, would it be thread-safe in an ISAPI or Apache Module environment? It works for me; let me know if it works for you, too! Copyright (C) 2001 Monty Dickerson This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]