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.

        Attachments

          Activity

            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: