Jump to content

Community

Makoto

📧 Block Disposable E-mails

Recommended Posts

Small suggestion - 

1. After deleting the members it goes back to member listing page. Possible to make it so that it goes to the list from where we started? 

2. The count of post in member listing page.

3. Multi-select. This manually deleting old members is pain 😞 

 

Share this post


Link to post
Share on other sites

My end-goal might be to just integrate with the Members listing page instead of essentially replicating it in the application itself.

This way you'll be able to filter by disposable members there, and use IPS' native tools to prune members with disposable E-mail's all at once if you'd like (which would take care of suggestion #3).

@AlexJ Do you think a solution like that would work for you?

Share this post


Link to post
Share on other sites
2 minutes ago, Makoto said:

My end-goal might be to just integrate with the Members listing page instead of essentially replicating it in the application itself.

This way you'll be able to filter by disposable members there, and use IPS' native tools to prune members with disposable E-mail's all at once if you'd like (which would take care of suggestion #3).

@AlexJ Do you think a solution like that would work for you?

Yes. Problem with IPS listing page is they don't show post count in their spammer listing page as well. Is their anyway, I can filter i.e. show 0 post count member  + temp email members? So i can just prune them up? If yes, i am all set. If not one day, I do monkey work to click, click and click and clean up old mess. 😄

 

Share this post


Link to post
Share on other sites

I've been talking with the Kickbox team and there shouldn't be any rate limiting causing Kickbox to return the null responses that we're seeing in our server logs.

So I'm going to add some extra logging to the next release and see if we can't narrow down the cause of the issue there.

Like mentioned above though, it won't cause the application to stop working and it only seems to occur when running the reindex tasks, but I'd still like to prevent it from occurring at all if possible.

Share this post


Link to post
Share on other sites
Posted (edited)

Version 1.2.0 has been released!

 

This is a major release that primarily adds support for either prompting members with disposable e-mails to update on login (optional), or forcing members with disposable e-mails to update before they can access any area of the site.

This additionally adds the logging feature requested by @Gabriel Torres.

Next on the update list will be better member filtering and support for taking actions against members with disposable e-mails in bulk.

Also, if you've been enjoying the application so far, please consider giving it a review! It'll help me a ton and I'd be very thankful ヾ(^-^)ノ

Edited by Makoto

Share this post


Link to post
Share on other sites
Posted (edited)

@Makoto

Trying to enable logging throws an error here. Will PM you.

Also, the list of previously detected emails with disposable emails (that task that took hours) is now gone...

 

 

Edited by Gabriel Torres

Share this post


Link to post
Share on other sites
Posted (edited)

I get errors on when I try to reindex members or log actions:

SELECT count(*) FROM `x_utf_ibf_indisposable_logs` AS `indisposable_logs`
IPS\Db\Exception: Table 'USER.x_utf_ibf_indisposable_logs' doesn't exist (1146)
#0 /PATH/public/system/Db/Select.php(373): IPS\_Db->preparedQuery('/*IPS\\Helpers\\T...', Array, true)
#1 //PATH//public/system/Db/Select.php(436): IPS\Db\_Select->runQuery()
#2 //PATH//public/system/Db/Select.php(355): IPS\Db\_Select->rewind()
#3 //PATH/public/system/Helpers/Table/Db.php(308): IPS\Db\_Select->first()
#4 //PATH//public/system/Helpers/Table/Table.php(484): IPS\Helpers\Table\_Db->getRows(Array)
#5 //PATH//public/applications/indisposable/modules/admin/indisposable/logs.php(101): IPS\Helpers\Table\_Table->__toString()
#6 /PATH//public/system/Dispatcher/Controller.php(96): IPS\indisposable\modules\admin\indisposable\_logs->manage()
#7 //PATH//public/applications/indisposable/modules/admin/indisposable/logs.php(26): IPS\Dispatcher\_Controller->execute()
#8 //PATH//public/system/Dispatcher/Dispatcher.php(152): IPS\indisposable\modules\admin\indisposable\_logs->execute()
#9 //PATH//public/admin/index.php(14): IPS\_Dispatcher->run()
#10 {main}

 

Edited by MediaDIGI.com

Share this post


Link to post
Share on other sites
Posted (edited)

@Gabriel Torres, @MediaDIGI.com,

Sorry about that, please upgrade to 1.2.1 and see if this resolves the issue!

(I'm using a new local build script that wasn't pulling the latest setup files from my development server, so the 1.2.0 release was missing a file needed to create that table. 1.2.1 will check if the table exists and create it if not.)

I've got that fixed now so it won't happen again in the future!

@Gabriel Torres,

That shouldn't happen again, I apologize for that. I've made some performance improvements to the rebuild script that should help speed it along this time, however.

This list will also now be automatically populated with 1.2.0, so you don't need to run the script unless you want to immediately have all the members indexed.

Edited by Makoto

Share this post


Link to post
Share on other sites

@Makoto When I click on a username in the Members list, the link redirects to:

&app=core&module=members&controller=members&do=edit&id=XXXXX

Instead of:

&app=core&module=members&controller=members&do=view&id=XXXXXX

Which would be more useful for me here!

The error I reported is gone.

I will wait a couple of days to see if the list was fully populated and let you know! 🙂

Thanks for your outstanding support and adding the features we are requesting! 🙂

 

Share this post


Link to post
Share on other sites
Posted (edited)
On 3/8/2019 at 4:45 PM, Makoto said:

Indisposable also caches e-mail domains that kickbox returns as disposable addresses, so you only actually need to query them once for the domain, then everything can be checked locally on your server; so it keeps performance in-mind especially for high-traffic websites. 

Does it also cache responses for non-disposable addresses? Or will it query kickbox every time there is a @gmail address?

Edited by vicentiu

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, vicentiu said:

Does it also cache responses for non-disposable addresses?

Yep! Responses for non-disposable addresses are temporarily cached (currently for a few days). The reason they're only temporarily cached is just to ensure that the domains aren't disposable e-mail addresses that haven't been caught yet.

On top of that, there is a hard-coded array of 149 well-known trustworthy e-mail domains (from all countries) stored in the validation class that is checked first, which includes services such as gmail, hotmail and so on. So it will never even need to query for those, it knows those are legitimate right away.

I've worked to make sure everything is built with performance in mind so you should have nothing to worry about, but I'm here to help if you do run into any issues!

Edited by Makoto

Share this post


Link to post
Share on other sites
21 minutes ago, Gabriel Torres said:

@Makoto 24 hours and the app has automatically identified only one user with disposable email address... 😑 

Do you mean registrations, or existing members?

Are you seeing members with disposable e-mails that it is missing, and are you referring to the Members table, or the Logs table?

Share this post


Link to post
Share on other sites
Posted (edited)

The issue with "Malformed kickbox requests" being logged will be resolved with the next maintenance release, which will be posted by Friday,
https://dev.taiga.sh/ips/Indisposable/milestones/3

@Gabriel Torres let me know if you're having any issues with logging and I'll make sure that's investigated before then.

If you just mean identifying members without manually running the reindex task, keep in mind it will only automatically re-identify these members when they log into their accounts.

(So you may actually want to go ahead and run the reindex task again if you plan to use the filters for bulk mailing, otherwise it should still work as intended for forcing members to update their e-mails and group promotion rules)

Edited by Makoto

Share this post


Link to post
Share on other sites
Posted (edited)

I noticed there are other disposable email validators available with free API's:

Is it worth allowing users to add other sources? I can think of three reasons:

  1. As a fallback if kickbox is down
  2. Get a second opinion from another source
  3. Distribute the load between different sites, so no single site is queried as much.

I see two implementation options:

  1. Hard code known sites with checkboxes next to them for users to enable and have a priority list as a fallback plan if a site doesn't respond or gives errors.
  2. Allow users to enter their own URL that includes their API-KEY
Edited by vicentiu

Share this post


Link to post
Share on other sites
10 hours ago, Makoto said:

Do you mean registrations, or existing members?

Existing members. Remember that with the previous version I had to run this manually and took several hours, and for this version you wrote above that the system would do this automatically?

2 hours ago, Makoto said:

keep in mind it will only automatically re-identify these members when they log into their accounts.

That explains it... hehehe

I've just launched the task to re-identify these members. Thanks for putting this task in the background now! hehehe

 

Share this post


Link to post
Share on other sites
Posted (edited)
5 hours ago, vicentiu said:

I noticed there are other disposable email validators available with free API's:

Is it worth allowing users to add other sources? I can think of three reasons:

  1. As a fallback if kickbox is down
  2. Get a second opinion from another source
  3. Distribute the load between different sites, so no single site is queried as much.

I see two implementation options:

  1. Hard code known sites with checkboxes next to them for users to enable and have a priority list as a fallback plan if a site doesn't respond or gives errors.
  2. Allow users to enter their own URL that includes their API-KEY

Hi there! Thank you for your feedback!

Kickbox is an extremely reputable service and their API service is solid and well tested, so I put a lot of trust in their service.

On top of that, their for-profit parent service allows them to provide the disposable e-mail validation service 100% free without needing an API key and with no usage limits (the other options you listed above have usage limits that would be extremely restricting on larger communities, unfortunately).

Edited by Makoto

Share this post


Link to post
Share on other sites
Posted (edited)

I purchased and installed the plugin yesterday.

I tested registration with a disposable email, but it's not blocking it, so I assume it's not working for some reason.

I also couldn't find the interface for executing all the activities mentioned under Features.

thanks

Edited by vicentiu

Share this post


Link to post
Share on other sites
10 minutes ago, vicentiu said:

I purchased and installed the plugin yesterday.

I tested registration with a disposable email, but it's not blocking it, so I assume it's not working for some reason.

I also couldn't find the interface for executing all the activities mentioned under Features.

thanks

Hi @vicentiu!

Can you please confirm what version of IPS you are running, and let me know what disposable e-mail domain you are testing with?

Also note that this is an Application, not a plugin, so it must be installed from the Applications page.

Share this post


Link to post
Share on other sites
Posted (edited)

Where do I find the version? I know we upgraded last week, so I assume we're on the latest.

I tried antichef.net

Yes, we installed it in Applications.

Edited by vicentiu

Share this post


Link to post
Share on other sites

If you have installed the application but are not seeing the settings for it and it is not blocking registrations, there might have been an issue installing the application in your specific server environment.

Can you please send me a PM here or on Slack so that I can investigate this for you further?

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...