Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-361

DSNBounce often report the dsn Status 5.5.0 incorrectly

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.3.0
    • Labels:
      None

      Description

      DSNBounce should guess the DSN code from the SMTP/ESMTP code received during the SMTP session. Other MTA does this. Converted to hames DSNStatus:

      // Req mail action not taken: mailbox unavailable
      case 450: return DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.MAILBOX_OTHER);
      // Req action aborted: local error in processing
      case 451: return DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.SYSTEM_OTHER);
      // Req action not taken: insufficient sys storage
      case 452: return DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.SYSTEM_FULL);
      // Syntax error, command unrecognized
      case 500: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_SYNTAX);
      // Syntax error in parameters or arguments
      case 501: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_ARG);
      // Command not implemented
      case 502: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_CMD);
      // Bad sequence of commands
      case 503: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_CMD);
      // Command parameter not implemented
      case 504: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.DELIVERY_INVALID_ARG);
      // Req mail action not taken: mailbox unavailable
      case 550: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.MAILBOX_OTHER);
      // User not local; please try <...>
      case 551: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.ADDRESS_MOVED);
      // Req mail action aborted: exceeded storage alloc
      case 552: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.MAILBOX_FULL);
      // Req action not taken: mailbox name not allowed
      case 553: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.ADDRESS_OTHER);
      // Transaction failed
      case 554: return DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.UNDEFINED_STATUS);

      I already patched my DSNBounce but I made also many other changes/fix to this class and I don't know if someone (committer) is reading bug submissions.
      Please contact me for an updated DSNBounce when you will be ready to apply patches.

        Activity

        Hide
        bago Stefano Bagnara added a comment -

        I committed a slightly different version that I matured after some month of production with the one published in the issue.

        Show
        bago Stefano Bagnara added a comment - I committed a slightly different version that I matured after some month of production with the one published in the issue.
        Hide
        danny@apache.org Danny Angus added a comment -

        Closing issue fixed in released version.

        Show
        danny@apache.org Danny Angus added a comment - Closing issue fixed in released version.

          People

          • Assignee:
            bago Stefano Bagnara
            Reporter:
            bago Stefano Bagnara
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development