[imp] Spam not reporting

HiP-HiPpO arthur at cdne.net
Thu Jan 5 06:31:49 UTC 2017


>>>>>> I have spam reporting enabled.  What I discovered is that  
>>>>>> messages sent through this method are not actually being  
>>>>>> submitted correctly.  I also found through manual testing, that  
>>>>>> the parameter '-C revoke' is not always successful.  So I  
>>>>>> changed the program line for spamc to use '-L spam' and '-L  
>>>>>> forget' respectively.  Here's how I tested.
>>>>>>
>>>>>> In Horde and logged in as user1, find a message in Inbox to  
>>>>>> route through the Spam reporting process.  Select it and choose  
>>>>>> Other Options->View Source.  Copy all the source into a new  
>>>>>> file named email.eml on the mail server system.
>>>>>>
>>>>>> Log into the mail server system as user1.
>>>>>> Using spamc, manually report the email as spam to the system to  
>>>>>> understand the intended behavior.
>>>>>> $ spamc -d localhost -L spam -s 1500000 -u user1 < email.eml
>>>>>>
>>>>>> Responds with 
>>>>>> Message successfully un/learned
>>>>>>
>>>>>> Run the same command a second time.
>>>>>> $ spamc -d localhost -L spam -s 1500000 -u user1 < email.eml
>>>>>>
>>>>>> Responds with
>>>>>> Message was already un/learned
>>>>>>
>>>>>> Remove the email from spamassassin with 
>>>>>> $ spamc -d localhost -L forget -s 1500000 -u user1 < email.eml
>>>>>>
>>>>>> Responds with
>>>>>> Message successfully un/learned
>>>>>>
>>>>>> Next, let's report the same email using Horde Spam Reporting  
>>>>>> then manually test that it was learned.  
>>>>>> In Horde, choose the same message from the Inbox and use the  
>>>>>> Spam reporting method.  Horde handles the spam reporting  
>>>>>> correctly and the messsage is moved to an alternative folder as  
>>>>>> intended.  This works fine.
>>>>>>
>>>>>> Let's return to the email server system and manually check that  
>>>>>> the email was submitted correctly.
>>>>>>
>>>>>> Rerun spamc with the email.eml file.  This should respond with  
>>>>>> a meesage that this was already learned.
>>>>>>
>>>>>> $ spamc -d localhost -L spam -s 1500000 -u user1 < email.eml
>>>>>>
>>>>>> Responds with 
>>>>>> Message successfully un/learned
>>>>>>
>>>>>> It does NOT!  Instead this message has now been learned  
>>>>>> manually.  Horde did not report this correctly.
>>>>>>
>>>>>> Here is my backends.local.php file for reference.
>>>>>>
>>>>>> <?php
>>>>>> $servers['imap']['disabled'] = true;
>>>>>> $servers['advanced']['disabled'] = false;
>>>>>> $servers['advanced']['name'] = 'Advanced IMAP Server';
>>>>>> $servers['advanced']['hostspec'] = 'localhost';
>>>>>> $servers['advanced']['port'] = 143;
>>>>>> $servers['advanced']['maildomain'] = 'domain.net';
>>>>>> $servers['advanced']['spam']['innocent']['display'] = true;
>>>>>> $servers['advanced']['spam']['innocent']['program'] =  
>>>>>> '/usr/bin/spamc -s 1500000 -d localhost -L forget -u %l';
>>>>>> $servers['advanced']['spam']['spam']['display'] = true;
>>>>>> $servers['advanced']['spam']['spam']['program'] =  
>>>>>> '/usr/bin/spamc -s 1500000 -d localhost -L spam -u %l';
>>>>>> $servers['advanced']['special_mboxes']['IMP_Mailbox::MBOX_DRAFTS'] =  
>>>>>> 'Drafts';
>>>>>> $servers['advanced']['special_mboxes']['IMP_Mailbox::MBOX_SENT'] =  
>>>>>> 'Sent';
>>>>>> $servers['advanced']['special_mboxes']['IMP_Mailbox::MBOX_SPAM'] =  
>>>>>> 'Spam';
>>>>>> $servers['advanced']['special_mboxes']['IMP_Mailbox::MBOX_TEMPLATES'] =  
>>>>>> 'Templates';
>>>>>> $servers['advanced']['special_mboxes']['IMP_Mailbox::MBOX_TRASH'] =  
>>>>>> 'Trash';
>>>>>> $servers['advanced']['autocreate_special'] = true;
>>>>>>
>>>>>> Looking at the apache status, it does show that spamc process  
>>>>>> was kicked off, but it does not appear that any intended email  
>>>>>> files are actually being submitted, unless this is just how the  
>>>>>> log lines appear.
>>>>>>
>>>>>> # /etc/init.d/apache2 status 
>>>>>> ● apache2.service - LSB: Apache2 web server
>>>>>>    Loaded: loaded (/etc/init.d/apache2)
>>>>>>   Drop-In: /lib/systemd/system/apache2.service.d
>>>>>>            └─forking.conf
>>>>>>    Active: active (running) since Thu 2016-12-22 01:54:09 PST;  
>>>>>> 5 days ago
>>>>>>   Process: 25714 ExecStop=/etc/init.d/apache2 stop  
>>>>>> (code=exited, status=0/SUCCESS)
>>>>>>   Process: 24796 ExecReload=/etc/init.d/apache2 reload  
>>>>>> (code=exited, status=0/SUCCESS)
>>>>>>   Process: 25739 ExecStart=/etc/init.d/apache2 start  
>>>>>> (code=exited, status=0/SUCCESS)
>>>>>>    CGroup: /system.slice/apache2.service
>>>>>>            ├─  417 /usr/sbin/apache2 -k start
>>>>>>            ├─  431 /usr/sbin/apache2 -k start
>>>>>>            ├─  432 /usr/sbin/apache2 -k start
>>>>>>            ├─  448 /usr/sbin/apache2 -k start
>>>>>>            ├─  449 /usr/sbin/apache2 -k start
>>>>>>            ├─  452 /usr/sbin/apache2 -k start
>>>>>>            ├─  454 /usr/sbin/apache2 -k start
>>>>>>            ├─25018 /usr/sbin/apache2 -k start
>>>>>>            ├─25753 /usr/sbin/apache2 -k start
>>>>>>            ├─25757 /usr/sbin/apache2 -k start
>>>>>>            ├─25758 /usr/sbin/apache2 -k start
>>>>>>            ├─25843 /usr/sbin/apache2 -k start
>>>>>>            ├─25846 /usr/sbin/apache2 -k start
>>>>>>            ├─25847 /usr/sbin/apache2 -k start
>>>>>>            ├─26512 /usr/sbin/apache2 -k start
>>>>>>            ├─27332 /usr/sbin/apache2 -k start
>>>>>>            ├─27334 /usr/sbin/apache2 -k start
>>>>>>            ├─27403 sh -c /usr/bin/spamc -s 1500000 -d localhost  
>>>>>> -L spam -u 'user1'
>>>>>>            ├─27404 /usr/bin/spamc -s 1500000 -d localhost -L  
>>>>>> spam -u user1
>>>>>>            ├─28056 /usr/sbin/apache2 -k start
>>>>>>            ├─31845 /usr/sbin/apache2 -k start
>>>>>>            ├─31987 /usr/sbin/apache2 -k start
>>>>>>            └─32190 /usr/sbin/apache2 -k start
>>>>>>  
>>>>>
>>>>> Hi dev list.  Is there any other details I can add to this  
>>>>> report that could be helpful to solve this? 
>>>>>
>>>>> Thank you,
>>>>> Art
>>>>> --
>>>>
>>>> I added the line
>>>> $servers['debug'] = '/tmp/horde-debug.log';
>>>> to imp/config/backends.local.php
>>>> in hopes to get some additional details to append here.  The log  
>>>> file is not created.
>>>
>>> You are missing the server key. I.e.,
>>>
>>> $servers['advanced']['debug'] = '/tmp/imap-debug.log';
>
>>> Though I'm not sure this will show anything about your spam problem.
>>>
>>> Are you sure that your webserver user has the correct permissions  
>>> to report spam to spamc?
>>
>> Additionally, are you sure you are running the spamd daemon and not  
>> using Amavis? The later won't work with spamc.
>
> I changed /etc/passwd and allowed www-data a login shell.  I used  
> `su - www-data` to change to this user in which the web server runs  
> as.  As the www-data user, I ran the commands
>
> `spamc -d localhost -L spam -s 1500000 -u user1 < test.eml`  
>        as well as 
> `spamc -d localhost -L forget -s 1500000 -u user1 < test.eml`  
>
> The reported behavior above was expected and this was the same  
> behavior that was seen when running as www-data.  This test was  
> successful and it validates that the www-data user can run spamc.  
>  In /etc/apache2/envvars is the env variable `export  
> APACHE_RUN_USER=www-data`
>
> netstat lists
> tcp        0      0 localhost:spamd         *:*                     LISTEN
>
> /etc/services shows the spamd port as
> spamd 783/tcp # spamassassin daemon
>
> I do have amavis installed and have set a $sa_spam_subject_tag = **JUNK**
> spamassassin local,cf config has this
> rewrite_header Subject ***** SPAM *****
>
> All auto reported Spam has the Subject that is used in the  
> spamassassin local.cf file.
>  

Enabling debug logging with $servers['advanced']['debug'] =  
'/tmp/imap-debug.log'; did not provide any usable insight.


More information about the imp mailing list