Exemple #1
0
/**
* Starts the process of sending an email - either immediately or by adding it to the mail queue.
*
* @param	string	Destination email address
* @param	string	Email message subject
* @param	string	Email message body
* @param	boolean	If true, do not use the mail queue and send immediately
* @param	string	Optional name/email to use in 'From' header
* @param	string	Additional headers
* @param	string	Username of person sending the email
*/
function vbmail($toemail, $subject, $message, $notsubscription = false, $from = '', $uheaders = '', $username = '')
{
    if (empty($toemail)) {
        return false;
    }
    if (defined('DISABLE_MAIL')) {
        // define this in config.php -- good for test boards,
        // that you don't want people to stumble upon
        if (is_string(DISABLE_MAIL) and strpos(DISABLE_MAIL, '@') !== false) {
            // DISABLE_MAIL contains part of an email address,
            // so only let emails matching that through
            if (strpos($toemail, DISABLE_MAIL) === false) {
                return true;
                // email not matched
            }
        } else {
            return true;
            // all mail disabled
        }
    }
    global $vbulletin;
    if (!class_exists('vB_Mail', false)) {
        require_once DIR . '/includes/class_mail.php';
    }
    if ($vbulletin->options['usemailqueue'] and !$notsubscription) {
        $mail = vB_QueueMail::fetch_instance();
    } else {
        if ($vbulletin->options['use_smtp']) {
            $mail = new vB_SmtpMail($vbulletin);
        } else {
            $mail = new vB_Mail($vbulletin);
        }
    }
    if (!$mail->start($toemail, $subject, $message, $from, $uheaders, $username)) {
        return false;
    }
    return $mail->send();
}
Exemple #2
0
 }
 if (!is_valid_email($emailaddress)) {
     print_diagnostic_test_result(0, $vbphrase['invalid_email_specified']);
 }
 $subject = $vbulletin->options['needfromemail'] ? $vbphrase['vbulletin_email_test_withf'] : $vbphrase['vbulletin_email_test'];
 $message = construct_phrase($vbphrase['vbulletin_email_test_msg'], $vbulletin->options['bbtitle']);
 if (!class_exists('vB_Mail', false)) {
     require_once DIR . '/includes/class_mail.php';
 }
 if ($vbulletin->options['use_smtp']) {
     $mail = new vB_SmtpMail($vbulletin);
 } else {
     $mail = new vB_Mail($vbulletin);
 }
 $mail->set_debug(true);
 $mail->start($emailaddress, $subject, $message, $vbulletin->options['webmasteremail']);
 // error handling
 @ini_set('display_errors', true);
 if (strpos(@ini_get('disable_functions'), 'ob_start') !== false) {
     // alternate method in case OB is disabled; probably not as fool proof
     @ini_set('track_errors', true);
     $oldlevel = error_reporting(0);
 } else {
     ob_start();
 }
 $mailreturn = $mail->send();
 if (strpos(@ini_get('disable_functions'), 'ob_start') !== false) {
     error_reporting($oldlevel);
     $errors = $php_errormsg;
 } else {
     $errors = ob_get_contents();