FetchMail initializes some mail attributes with "null" values, which are then 
ignored by HasMailAttribute matcher.
------------------------------------------------------------------------------------------------------------------

                 Key: JAMES-941
                 URL: https://issues.apache.org/jira/browse/JAMES-941
             Project: JAMES Server
          Issue Type: Bug
          Components: FetchMail
    Affects Versions: 2.3.2
            Reporter: Aleksey Medvedev
            Priority: Minor


I needed to resend all messages delivered by FetchMail to users, who are not 
defined to James, into postmaster's mailbox. To do so I've added a new mailet 
with HasMailAttribute matcher to process messages with 
"org.apache.james.fetchmail.isUserUndefined" attribute. But this mailet has 
never been actually invoked in spite of the aforementioned attribute presence.

In the FetchMail's source code I've found that all attributes which do not 
assume some particular value, are initialized by nulls:
        if (isUserUndefined())
            aMail.setAttribute(getAttributePrefix() + "isUserUndefined", null);

But HasMailAttribute matcher ignores attributes with null values:
        if (mail.getAttribute (attributeName) != null) {
            return mail.getRecipients();
        } 

If I assign arbitrary not null value to the attribute like this
            aMail.setAttribute(getAttributePrefix() + "isUserUndefined", 
"true");
the matcher works fine and my mailet is then invoked.

Thereby we have some incorrectly initialized attributes which are definitely 
ignored by matchers (and possibly cause some other troubles).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to