James Server
  1. James Server
  2. JAMES-941

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

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3.2
    • Fix Version/s: 3.0-M1
    • Component/s: FetchMail
    • Labels:
      None

      Description

      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).

        Activity

          People

          • Assignee:
            Norman Maurer
            Reporter:
            Aleksey Medvedev
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development