Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #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
  #2  
Old 01-23-2022, 08:31 AM
z3r0's Avatar
z3r0 z3r0 is offline
 
Join Date: Apr 2005
Posts: 339
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A quick look at that section in vb4.2.5 (final) class_mail.php shows a lot less code, I haven't the time to check through and see what the differences are but a good start would be update from Alpha to the final release version.
Reply With Quote
Благодарность от:
Hostboard
  #3  
Old 06-08-2022, 05:20 AM
postcd postcd is offline
 
Join Date: Feb 2012
Posts: 319
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will not update now. How to fix it please?
Reply With Quote
  #4  
Old 06-08-2022, 10:02 PM
RichieBoy67's Avatar
RichieBoy67 RichieBoy67 is offline
 
Join Date: Apr 2004
Location: CT - Down in a hole..
Posts: 3,057
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Have you edited any of the core vbulletin files?

--------------- Added [DATE]1654809352[/DATE] at [TIME]1654809352[/TIME] ---------------

Quote:
Originally Posted by postcd View Post
I will not update now. How to fix it please?
Back up your site first and then reupload those files fresh from vbulletin.
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:33 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.04226 seconds
  • Memory Usage 2,195KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (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)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_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
  • 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