[imp] Help with enabling spam reporting [SOLVED]

HiP-HiPpO arthur at cdne.net
Thu Dec 22 21:09:28 UTC 2016


>>>>>>>>>> I created the file imp/conf/backends.local.php with only  
>>>>>>>>>> the following contents. When logging in, I see no  
>>>>>>>>>> additional option to report mail as spam. How do I enable  
>>>>>>>>>> reporting?
>>>>>>>>>>
>>>>>>>>>> <?php
>>>>>>>>>> $conf['spam']['reporting'] = true;
>>>>>>>>>> $conf['spam']['spamfolder'] = Spam;
>>>>>>>>>> $conf['notspam']['reporting'] = true;
>>>>>>>>>> $conf['notspam']['spamfolder'] = Inbox;
>>>>>>>>>> $conf['spam']['program'] = '/usr/bin/spamc -C report -u %l';
>>>>>>>>>> $conf['notspam']['program'] = '/usr/bin/spamc -C revoke -u %l';
>>>>>>>>>>
>>>>>>>>>> Horde version 5.2.12
>>>>>>>>>> Imp version 6.2.16
>>>>>>>>>>
>>>>>>>>>> Thank you, Art
>>>>>>>>>> -
>>>>>>>>>
>>>>>>>>> I replaced all the contents in backends.local.php with the  
>>>>>>>>> example shown in this thread and I have spam reporting buttons
>>>>>>>>> https://lists.horde.org/archives/horde/Week-of-Mon-20150216/053728.html
>>>>>>>>
>>>>>>>> This does not seem to be working.
>>>>>>>
>>>>>>> This will only work if you have a spamd daemon running and it  
>>>>>>> can accept connections from the spamc client.
>>>>>>>
>>>>>>>>  Initially, I was able to select a few incoming messages and  
>>>>>>>> choose the Spam button to report.  This is no longer working.  
>>>>>>>>  Now I select only one message, choose "Report as Spam".  The  
>>>>>>>> message is updated with an icon to suggest it is being  
>>>>>>>> processed as spam, however, that process never completes and  
>>>>>>>> the logged in session is hung in the browser.  I need to kill  
>>>>>>>> the browser and relogin to find that one message in an  
>>>>>>>> unchanged state, still seen as New in the Inbox.  
>>>>>>>
>>>>>>> --
>>>>>>>  
>>>>>>
>>>>>> spamc seems to be working.  I used the GTUBE example file  
>>>>>> here; http://spamassassin.apache.org/gtube/gtube.txt
>>>>>> and saved it as test.eml.  On a command line, I used `spamc -R  
>>>>>> < test.eml`.  This produced output and the test email was given  
>>>>>> a content analysis score of 1000.0 points.
>>>>>>
>>>>>> I hadn't noticed the difference in versions between Groupware  
>>>>>> and Horde itself before.  Seems odd, but maybe not.
>>>>>> Horde Groupware Webmail Edition 5.2.16
>>>>>> Horde 5.2.12
>>>>>> Imp 6.2.16
>>>>>
>>>>> Seems very unreliable at this point.  With one login session, I  
>>>>> was able to select one email in Inbox and choose the Spam  
>>>>> button.  I selected the next mail, choose the Spam button and  
>>>>> the browser churns for a very long time.  I have to kill the  
>>>>> browser instance and log back in.  After logging in again, I  
>>>>> selected a different mail, clicked the Spam button and the  
>>>>> browser churned away, I forced killed the browser.  The next  
>>>>> time logging in, I was able to mark 5 messages as Spam, on the  
>>>>> 6th, browser churns and another force kill of the browser  
>>>>> instance.  
>>>>>  
>>>>
>>>> Is there anything I can provide (proxy logs, debug logs, etc.) to  
>>>> help troubleshoot this or should I consider it a broken feature  
>>>> and back out of the configuration change?
>>>
>>> Post the full contents of your  
>>> <horde>/imp/config/backends.local.php. Spam reporting works  
>>> flawlessly here, so if it isn't working for you, there must be a  
>>> configuration issue.
>>>  
>>
>> <?php   
>> // IMAP server
>> $servers['imap'] = array(
>>     // ENABLED by default; will connect to IMAP port on local server
>>     'disabled' => true,
>>     'name' => 'IMAP Server',
>>     'hostspec' => 'localhost',
>>     'hordeauth' => false,
>>     'protocol' => 'imap',
>>     'port' => 143,
>>     // Plaintext logins are disabled by default on IMAP servers  
>> (see RFC 3501
>>     // [6.2.3]), so TLS is the only guaranteed authentication available by
>>     // default.
>>     'secure' => 'tls',
>> );
>>  
>> $servers['advanced'] = array(
>>     // Disabled by default
>>     'disabled' => false,
>>     'name' => 'Advanced IMAP Server',
>>     'hostspec' => 'localhost',
>>     'hordeauth' => false,
>>     'protocol' => 'imap',
>>     'port' => 143,
>>     'secure' => 'tls',
>>     'maildomain' => 'cdne.net,icwazy.us',
>
> There should be no comma in the value, you can only specify one  
> default domain as far as I know. If you need to support multiple  
> domains, you probably need a virtual hosts setup.
>
>>     'smtp' => array(
>>     //    'auth' => true,
>>     //    'debug' => false,
>>     //    'horde_auth' => false,
>>     //    'host' => 'smtp.example.com',
>>     //    'localhost' => 'localhost',
>>     //    'password' => null,
>>     //    /* Mail from a MUA SHOULD be sent via the mail submission  
>> port (587)
>>     //    * rather than the MTA port (25). Note that mail submission
>>     //    * REQUIRES some method of authentication (whether explicit
>>     //    * user/password credentials or configuring the mail submission
>>     //    * agent to automatically authenticate this host based on the
>>     //    * network location). */
>>     //    'port' => 587,
>>     //    'username' => null
>>     ),
>>     'spam' => array(
>>           'innocent' => array(
>>               'display' => true,
>>         //
>>         //    // Email reporting driver
>>         //    'email' => null,
>>             //    'email_format' => 'digest',
>>         //
>>     //    // Null reporting driver
>>         //    'null' => true,
>>         //
>>     //    // Program reporting driver
>>               'program' => '/usr/bin/spamc -d mx -C revoke -u %l',
>
> Make sure you can actually connect to this system. It sounds kind of  
> weird that you have spamd running on a host named 'mx' (that's what  
> the above line says).
>
>>           ),
>>     'spam' => array(
>>               'display' => true,
>>         //
>>     //    // Email reporting driver
>>         //    'email' => null,
>>         //    'email_format' => 'digest',
>>         //
>>     //    // Null reporting driver
>>         //    'null' => true,
>>         //
>>     //    // Program reporting driver
>>               'program' => '/usr/bin/spamc -d mx -C report -u %l',
>>           ),
>
> Same here. Try to report the example file you already had through  
> the same command, replacing the '%l' with an actual username. I  
> would be surprised if this works.
>
>>     // // It is possible to directly define additional spam drivers.
>>         // // The 'drivers' array should contain a list of driver objects
>>         // // (these classes must implement the IMP_Spam_Base class).
>>         // 'drivers' => array(
>>         //    new IMP_Example_Spam_Driver()
>>         // )
>>     ),
>>     'admin' => array(
>>     //    'user' => 'cyrus',
>>     //    'password' => 'cyrus_pass',
>>     //    'userhierarchy' => 'user.'
>>     ),
>>     'acl' => true,
>>     'cache' => false,
>>     // 'debug' => '/tmp/imp_imap.log',
>>     // 'debug_raw' => false,
>>     'quota' => array(
>>         'driver' => 'imap',
>>         'params' => array(
>>             'hide_when_unlimited' => true,
>>             'unit' => '5000MB'
>>         )
>>     ),
>>     'special_mboxes' => array(
>>           IMP_Mailbox::MBOX_DRAFTS => 'Drafts',
>>           IMP_Mailbox::MBOX_SENT => 'Sent',
>>           IMP_Mailbox::MBOX_SPAM => 'Spam',
>>           IMP_Mailbox::MBOX_TEMPLATES => 'Templates',
>>           IMP_Mailbox::MBOX_TRASH => 'Trash',
>>     //    IMP_Mailbox::MBOX_USERSPECIAL => array(
>>     //        'Example' => _("Example Special Mailbox")
>>     //    )
>>     ),
>>     'autocreate_special' => false,
>> );
>>  
>
> Also try to stick to the format defined in the header of  
> 'backends.php'. Rather than redefining the arrays, only override the  
> values that need changing. For example,
>
>    <?php
>    $servers['imap']['disabled'] = true;
>    $servers['advanced']['disabled'] = false;
>
> is the recommended way to disable the default 'imap' configuration  
> and to enable the 'advanced' configuration. You only need to list  
> parameters that need to be changed from the default.
>
>  

This was solved after finding a spamc error in the syslog.
spamc[29366]: skipped message, greater than max message size (512000 bytes)

It appears that if a mail is submitted through spam reporting tht is  
larger than allowed, the Horde interface hangs.  I modified the  
program variable in backends.local.php to increase this allowance.

'program' => '/usr/bin/spamc -s 1500000 -d mx -C report -u %l'


More information about the imp mailing list