Exemple #1
0
/**
 * Sends an email using PHP's mail function, formatting it appropriately.
 *
 * @param string Address the email should be addressed to.
 * @param string The subject of the email being sent.
 * @param string The message being sent.
 * @param string The from address of the email, if blank, the board name will be used.
 * @param string The chracter set being used to send this email.
 * @param boolean Do we wish to keep the connection to the mail server alive to send more than one message (SMTP only)
 * @param string The format of the email to be sent (text or html). text is default
 * @param string The text message of the email if being sent in html format, for email clients that don't support html
 * @param string The email address to return to. Defaults to admin return email address.
 */
function my_mail($to, $subject, $message, $from = "", $charset = "", $headers = "", $keep_alive = false, $format = "text", $message_text = "", $return_email = "")
{
    global $mybb;
    static $mail;
    // Does our object not exist? Create it
    if (!is_object($mail)) {
        require_once MYBB_ROOT . "inc/class_mailhandler.php";
        if ($mybb->settings['mail_handler'] == 'smtp') {
            require_once MYBB_ROOT . "inc/mailhandlers/smtp.php";
            $mail = new SmtpMail();
        } else {
            require_once MYBB_ROOT . "inc/mailhandlers/php.php";
            $mail = new PhpMail();
        }
    }
    // Using SMTP based mail
    if ($mybb->settings['mail_handler'] == 'smtp') {
        if ($keep_alive == true) {
            $mail->keep_alive = true;
        }
    } else {
        if ($mybb->settings['mail_parameters'] != '') {
            $mail->additional_parameters = $mybb->settings['mail_parameters'];
        }
    }
    // Build and send
    $mail->build_message($to, $subject, $message, $from, $charset, $headers, $format, $message_text, $return_email);
    return $mail->send();
}