function send($conn = null, $addrs = null, $mess = null, $from = null, $debug = null) { if (!FUNC4::is_debug($debug)) { $debug = debug_backtrace(); } global $_RESULT; $_RESULT = $err = array(); if (!is_resource($conn)) { $err[] = 'invalid resource connection'; } if (!is_array($addrs)) { $err[] = 'invalid to address type'; } else { $aver = true; if (count($addrs) > 0) { foreach ($addrs as $addr) { if (!FUNC4::is_mail($addr)) { $aver = false; break; } } } else { $aver = false; } if (!$aver) { $err[] = 'invalid to address value'; } } if (!is_string($mess)) { $err[] = 'invalid message value'; } if ($from == null) { $from = @ini_get('sendmail_from'); if ($from == '' || !FUNC4::is_mail($from)) { $from = isset($_SERVER['SERVER_ADMIN']) && FUNC4::is_mail($_SERVER['SERVER_ADMIN']) ? $_SERVER['SERVER_ADMIN'] : 'postmaster@localhost'; } } else { if (!is_string($from)) { $err[] = 'invalid from address type'; } else { if (!($from != '' && FUNC4::is_mail($from))) { $err[] = 'invalid from address value'; } } } if (count($err) > 0) { FUNC4::trace($debug, implode(', ', $err)); } else { $ret = false; if (SMTP4::from($conn, $from, $debug)) { $continue = true; foreach ($addrs as $dest) { if (!SMTP4::to($conn, $dest, $debug)) { $continue = false; break; } } if ($continue) { if (SMTP4::data($conn, $mess, $debug)) { $ret = SMTP4::rset($conn, $debug); } } } return $ret; } }