vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   vBouncer : Change thread subscribtion options for members with bouncing emails (https://vborg.vbsupport.ru/showthread.php?t=61303)

Pseudomizer 04-22-2004 04:39 PM

Ok. Looks not too heavy. But how should i configure your script in terms of the email account ? I have created now an account with your given name and i have defined that all bouncing emails should go there. In your script i have to give the path to his maildirectory. Which is the right one ?

With vpopmail and qmail i have the following structure:

/home/vpopmail/domains/domainname/subscriber_notify/Maildir

In this directory i have 3 subdirectories:
- cur
- new
- tmp

Which directory should i put into your script please ?

Cheers,

tamarian 04-22-2004 04:50 PM

Quote:

Originally Posted by Pseudomizer
Which directory should i put into your script please ?

I have not used any of those mail software, so I'm not sure. Hopefully someone reading this who uses vpopmail/qmail can answer this.

I use postfix, and the bounced emails go to /var/spool/mail/boxname

Pseudomizer 04-22-2004 04:58 PM

I have found the following in a forum:

__________________________________________________ _____________________
Set up a .qmail file for bounces (e.g. .qmail-bounces) and put a pipe to a program inside it, like this:

| /usr/bin/process_bounce.pl


Now when bounces@yourhostname.com receives an email, the script /usr/bin/process_bounce.pl will receive a copy of this email on standard input, so you can extract the relevant parts of it (e.g. the "To" field)
__________________________________________________ ____________________

If i would do this then your script would get the data via standard input and the use of your filedefinition would not be necessary any more. But i guess that your script does not accept any input from standard in yet ?

Cheers,

tamarian 04-22-2004 05:11 PM

I'm not sure how this would work, due to my lack of knowledge with qmail.

Does qmail use spool files? Check what's there in your /var/spool/mail.

If not, does qmail allow .forward files? If so, have the .forward create a spool file

example of .forward contents
~/home/myuser/mail/bounces

With this, you create your own spool file, and use it in the script. (warning: make sure you regularly clean this file, as bounce spools can get very large, very quickly with many forum users)

These are just off the top of my head, as I don't know how qmail works, I'm a postfix user.

influence 04-22-2004 07:27 PM

let me be the first to say that this hack dont work.

Hopefully someone can work on an alternative that will work. Not to be rude or anythign but this script dont do nothing. It dont even stop bounce mail. I still get them daily.. the same amount

Pseudomizer 04-23-2004 10:50 AM

Any comment on this last post from the hack developer ?

Cheers,

tamarian 04-23-2004 11:01 AM

Quote:

Originally Posted by Pseudomizer
Any comment on this last post from the hack developer ?

Cheers,

Not really, as there were no specifics, just a statement that it does not work. It's working here for me, and for those who said so in this thread. :)

Pseudomizer 04-23-2004 11:08 AM

Ok. One more unhappy person because it is not working for him.

Regardless of his problem i can tell you that it did not work for me either but this is due to qmail. I have no idea to set it up to work with qmail and due to this i have to cancel this.

I tried to set up a .qmail file in the mailbox dir of the subriber_notify account to run a specific script but this did never start any script after receiving an email. This is clearly a qmail problem and not related to your hack. If i find out someday how i can run a script on an email receive i will try again to pass the info to your script. Until then i have to wait.

Cheers,

Pseudomizer 04-23-2004 12:15 PM

Hi,

now i received help from qmail gurus. Now i set up qmail to run a specific script every time an email is received. The problem i have now is the following:

Let's assume a member of our community sends out an email. So for every email one user sends out our database will be queried if an user with this emailadress exists and if this user is in usergroupid 3.

Can you image how many queries this will produce just by sending out an email ?

This is too heavy.

Cheers,

tamarian 04-23-2004 02:02 PM

Quote:

Originally Posted by Pseudomizer
Hi,

now i received help from qmail gurus. Now i set up qmail to run a specific script every time an email is received. The problem i have now is the following:

Let's assume a member of our community sends out an email. So for every email one user sends out our database will be queried if an user with this emailadress exists and if this user is in usergroupid 3.

Can you image how many queries this will produce just by sending out an email ?

This is too heavy.

Cheers,

Well, how does your qmail script (which you run on every email) being heavy relate to this hack?

Their are ways to accomplish what you want, the best of which is using the vB cron scripts, to accomplish this pruning of unconfirmed registrations.

But in any case, none of this functionality relates to the vBouncer and what it was designed for (thread unsubscription of members who bounce emails).

So my recommendation is to start a new thread in the hack request forum.

djroketboy 05-31-2004 05:16 PM

How does this actually work, does it parse each email? because most bounce/failure notices are sent from antother mail server...

tamarian 05-31-2004 07:43 PM

Quote:

Originally Posted by djroketboy
How does this actually work, does it parse each email? because most bounce/failure notices are sent from antother mail server...

If you use more than one server, check the discussion starting with post #18 :)

djroketboy 05-31-2004 10:25 PM

Quote:

Originally Posted by tamarian
If you use more than one server, check the discussion starting with post #18 :)

no, don't use more than one server, we use Exim... any solution ?

tamarian 05-31-2004 10:32 PM

Quote:

Originally Posted by djroketboy
no, don't use more than one server, we use Exim... any solution ?

Well, I've never used Exim or Qmail, so I hope someone else can help with that. As stated in the first post, I only know sendmail and Postfix.

But you said in the previous post that your email bounces to another server, if so, check the posts from #18.

djroketboy 05-31-2004 10:36 PM

bleh ignore that.. i was tired.. i misread how it worked... i was thinking it checked the "inbox" but i reads the actual mail spool.... i was thinking that it parses the already bounced emails and not the pre-sent emails....

hence the "mail from other servers" ie. if you bounce a message it comes back from postmaster@aol.com or whatnot....

but i understand how it works now. now just to get it working for exim, and shared servers.

Battle_Ring 07-19-2004 08:28 PM

i cant figure out how to do this could you please help me set it up

Dennis Olson 08-20-2004 12:08 PM

Is there syntax for this hack on vB3.0.3?

Theater 08-29-2004 09:55 PM

Quote:

Originally Posted by Dennis Olson
Is there syntax for this hack on vB3.0.3?

[high]* Theater seconds that.[/high]

kontrabass 09-08-2004 01:34 PM

3rd! Please, an update? This hack is invaluable to me! :)

ScottA 09-08-2004 03:07 PM

Quote:

Originally Posted by kontrabass
3rd! Please, an update? This hack is invaluable to me! :)

I got this running on 3.0.3. IIRC, what you need to do is open mail.php and look for this:

PHP Code:

    function Mail($toemail$subject$message$headers$fromemail$minusf false)
    {
        if (
$minusf)
        {
            
$this->success = @mail($toemail$subject$messagetrim($headers), "-f $fromemail");
        }
        else
        {
            
$this->success = @mail($toemail$subject$messagetrim($headers));
        }
    } 

And change it to this:

PHP Code:

    function Mail($toemail$subject$message$headers$fromemail$minusf false)
    {
        if (
$minusf)
        {
            
$this->success = @mail($toemail$subject$messagetrim($headers), "-f subscriber_notify@yourdomain.com");
        }
        else
        {
            
$this->success = @mail($toemail$subject$messagetrim($headers), "-f subscriber_notify@yourdomain.com");
        }
    } 


tamarian 09-08-2004 03:22 PM

Thanks ScottA. I haven't upgraded to 3.0.3 yet, so I've put your instructions into the first post.

rinkrat 10-12-2004 05:05 PM

What does this mean:

[root@www cgi-bin]# ./vbouncer.pl
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at (eval 1) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: ExampleP, Pg, Proxy.
at ./vbouncer.pl line 80

JamesFrost 01-01-2005 11:55 AM

Incredible idea for a script - I've been starting to do this manually for the last few weeks to try and cut down on the 100's of messages I've been getting. I was starting to think about automating this, but had no idea where to start.

can someone just clarify what this means: (I presume I can just shove it in any directory that's not in the Apache tree??)
Quote:

Copy vBouncer.pl.txt to a directory on your server above apache level.
I'll probably move users into a 'moved on' usergroup automatically as well, as I don't want people posting on my board with an invalid address. I've already got this usergroup setup, together with an automatic warning at the top indicating they have been posting with an invalid e-mail address, and asking them to correct it. Members don't seem to mind, and are generally apologetic about this. It looks like automating this will be fairly simple looking at your script.

tamarian 01-01-2005 02:00 PM

Quote:

Originally Posted by rinkrat
What does this mean:

[root@www cgi-bin]# ./vbouncer.pl
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at (eval 1) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: ExampleP, Pg, Proxy.
at ./vbouncer.pl line 80

This means you're Perl is missing some required libraries, like DBD::MySQL. You might want to install them using CPAN.

tamarian 01-01-2005 02:03 PM

Quote:

Originally Posted by JamesFrost
Quote:

Copy vBouncer.pl.txt to a directory on your server above apache level.
can someone just clarify what this means: (I presume I can just shove it in any directory that's not in the Apache tree??)

Correct. It's best to not have it accessable through a browser.

JamesFrost 01-02-2005 11:08 AM

Quote:

Originally Posted by tamarian
Correct. It's best to not have it accessable through a browser.

Script works brilliantly. Have added the following sql updates which might be useful to others :

Find :
Code:

my $qry3 = db_execute("UPDATE subscribethread set emailupdate='$downgrade'  where userid='$varname1'");
After, add :
Code:

my $qry4 = db_execute("UPDATE subscribeforum set emailupdate='$downgrade'  where userid='$varname1'");
my $qry5 = db_execute("UPDATE user set usergroupid=19  where userid='$varname1' and usergroupid=2");

qry4 cleans up any subscribed forums (instead of just subscribed threads)
qry5 moves any user who's e-mails bounce that is currently in usergroup 2 into usergroup 19.

Now I'm off to play around with Perl, and perhaps try to do some automatic e-mail processing routines (such as e-mail messages triggering forum posts! ) - What fun. :D

slix 02-25-2005 04:11 AM

This sounds cool, and is just what I have been thinking about, well almost. Problem is, I have a paying user group, and I don't want them downgraded to another group. Also will users be upgraded to their previous user group after they fix their email addy?

JamesFrost 02-25-2005 07:17 AM

Quote:

Originally Posted by slix
This sounds cool, and is just what I have been thinking about, well almost. Problem is, I have a paying user group, and I don't want them downgraded to another group. Also will users be upgraded to their previous user group after they fix their email addy?

qry5 above will do the downgrade on a per group basis, so wont downgrade your paying group if you dont want it to.

You cant really tell when someone fixes their e-mail, as no messages will be bounced - this would need to be done manually.

T3MEDIA 03-13-2005 08:42 PM

to scarry to install.

Lionel 03-29-2005 05:54 PM

Can this be made instead to change "receive emails" from other members and admin? I am getting a load of email back from PM undelivered or other things.

tamarian 06-21-2005 07:10 PM

There's a new PHP version of vBouncer with Admin panel access for vB 3.5, check it out:

https://vborg.vbsupport.ru/showthrea...threadid=83486

kmike 06-22-2005 07:29 AM

Are these code changes of the mail functions really needed? Can't we simply set webmaster's email to subscriber-notify@domain.com in vB's options?

tamarian 06-22-2005 11:31 AM

Quote:

Originally Posted by kmike
Are these code changes of the mail functions really needed? Can't we simply set webmaster's email to subscriber-notify@domain.com in vB's options?

No The email address must reside on the server and not be POP'ed or downloaded by email clients, like the webmaster email. Otherwise it won't work, since you have not "trapped" the bounce notices. Otherwise you webmaster account will be flooded by bounced emails, and vBouncer won't find them.

kmike 06-23-2005 04:52 AM

Well, we're not using vB contact form, and it is the only place where webmaster's email is being used apart from sending various notifications to members. So for us it's safe to change webmaster email and leave the code alone.

tamarian 06-25-2005 09:01 PM

Quote:

Originally Posted by kmike
Well, we're not using vB contact form, and it is the only place where webmaster's email is being used apart from sending various notifications to members. So for us it's safe to change webmaster email and leave the code alone.

It's still a bad idea, IMHO. If you have ever used the webmaster email before, chances are it gets a lot of spam. Getting a lot of spam into the bouncer spool means a lot of queries, since it will try to search for users matching those emails.

kmike 06-26-2005 03:29 AM

Every address set as webmaster's will get a lot of viruses and spam sooner or later.

BTW, I'm writing the script implementing the same idea from scratch, it will parse bounces properly using Mail::DeliveryStatus::BounceParser module. The current script is just too trigger happy on various autoresponders.

tamarian 06-26-2005 03:54 AM

Quote:

Originally Posted by kmike
Every address set as webmaster's will get a lot of viruses and spam sooner or later.

BTW, I'm writing the script implementing the same idea from scratch, it will parse bounces properly using Mail::DeliveryStatus::BounceParser module. The current script is just too trigger happy on various autoresponders.

Not the new PHP version :)

kmike 06-26-2005 11:25 AM

New version doesn't get along with vB 3.0.7 which is current stable version 99.9% of sites are using.
Also, IMHO it simply isn't sophisticated enough (yet). It doesn't handle bounces from the zillion of broken MTA's like qmail or MS Exchange which tend to spit DSN's in a plain text, completely omitting Final-Recipient and other handy headers. So new version has some room for improvement, too ;)

tamarian 06-26-2005 11:42 AM

Quote:

Originally Posted by kmike
New version doesn't get along with vB 3.0.7 which is current stable version 99.9% of sites are using.
Also, IMHO it simply isn't sophisticated enough (yet). It doesn't handle bounces from the zillion of broken MTA's like qmail or MS Exchange which tend to spit DSN's in a plain text, completely omitting Final-Recipient and other handy headers. So new version has some room for improvement, too ;)

I've posted a request for help from those with Windows, QMail and Exim, as indicated in the vB3.5. https://vborg.vbsupport.ru/showthread.php?t=83407

QMail does send Final-Recipent headers, according to the samples I got. If you know otherwise, why not share the information? As stated, I know Postfix and Sendmail, and to support other systems, I'll need some cooperation from those who know those other systems.

A 3.0.7 version should be out tonight.

tamarian 06-26-2005 04:06 PM

As promised, a new version in PHP is now available for vB 3.0.7

https://vborg.vbsupport.ru/showthrea...threadid=91119


All times are GMT. The time now is 04:52 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01504 seconds
  • Memory Usage 1,859KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (2)bbcode_php_printable
  • (18)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete