Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 01-23-2022, 07:24 AM
postcd postcd is offline
 
Join Date: Feb 2012
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default vBulletin 4 sends an e-mail even the input e-mail syntax is not valid e-mail

Hello,
it appears that vBulletin 4.2.5 Alpha 2 sends an activation e-mail to newly registered user even the e-mail is wrong, like "FK@9711"
Please how to fix this inside the code?

I have found following in /includes/class_mail.php
Code:
	function send($force_send = false)
        {
                // No recipient, abort
                if (!$this->toemail)
                {
                        return false;
                }

                // Check debug settings
                if (!$force_send AND defined('DISABLE_MAIL'))
                {
                        if (is_string(DISABLE_MAIL))
                        {
                                // check for a recipient whitelist
                                if (strpos(DISABLE_MAIL, '@') !== false)
                                {
                                        // check if the address is allowed
                                        if (strpos(DISABLE_MAIL, $this->toemail) === false)
                                        {
                                                return false;
                                        }
                                }
                                else if (strpos(DISABLE_MAIL, '.log') !== false)
                                {
                                        // mail is only logged
                                        $this->log_email('DEBUG', DISABLE_MAIL);

                                        return true;
                                }
                                else
                                {
                                        // recipient not in the whitelist and not logging
                                        return false;
                                }
                        }
                        else
                        {
                                // DISABLE_MAIL defined but isn't a string so just disable
                                        if (strpos(DISABLE_MAIL, $this->toemail) === false)
                                        {
                                                return false;
                                        }
                                }
                                else if (strpos(DISABLE_MAIL, '.log') !== false)
                                {
                                        // mail is only logged
                                        $this->log_email('DEBUG', DISABLE_MAIL);

                                        return true;
                                }
                                else
                                {
                                        // recipient not in the whitelist and not logging
                                        return false;
                                }
                        }
                        else
                        {
                                // DISABLE_MAIL defined but isn't a string so just disable
                                return false;
                        }
                }

                // Send the mail
                return $this->exec_send();
        }
Maybe it is correct code to modify?

Here they mention following:

Code:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // invalid emailaddress
}

if (!checkdnsrr($domain, 'MX')) {
    // domain is not valid
}
MX code may delay things so is questionable. Maybe better to validate on registration form?

/register.php contains:
Code:
        // check for matching email addresses
        if ($vbulletin->GPC['email'] != $vbulletin->GPC['emailconfirm'])
        {
                $userdata->error('emailmismatch');
        }
can i append after that:
Code:
        // check for valid email addresses
        if (!filter_var($vbulletin->GPC['email'], FILTER_VALIDATE_EMAIL))
        {
                $userdata->error('to be valid e-mail');
        }
When i do it, reg. form says "Could not find phrase 'to be valid e-mail'."
After using valid e-mail then no warning appear. Is this sufficing, or do You have idea how to fix it please?
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:03 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04012 seconds
  • Memory Usage 2,344KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (1)post_thanks_box_bit
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete