Skip to content

Fixes #1222 - Document how unprocessable emails are handled - #1379

Open
ralf401 wants to merge 1 commit into
pre-releasefrom
rsc/fixes/1222
Open

ralf401 wants to merge 1 commit into
pre-releasefrom
rsc/fixes/1222

Conversation

@ralf401

@ralf401 ralf401 commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

An inbound email that cannot be processed becomes a ticket titled "Unprocessable email" instead of a failed email record, so the email channel pages and the monitoring note had to say where such a ticket lands, what it carries and why the monitoring stays quiet.

Claim -> source anchor (zammad/zammad@ecc447bd63, follow-up 49ff10caaf, none of it released yet):

  • Fixed title, translated into the default language at creation: app/models/channel/email_parser/error_ticket.rb:4,126
  • Group of the email channel, otherwise the group of the recipient address, otherwise the first active group: error_ticket.rb:75, app/models/channel/filter/identify_group.rb:11-21
  • Ticket for the system account, state new: error_ticket.rb:73-79, spec/models/channel/email_parser_spec.rb:2113-2118
  • Internal note of the system account with the raw email and the processing log: error_ticket.rb:82-96,115-122
  • Warning above the conversation instead of the article, with both download buttons: app/assets/javascripts/app/controllers/ticket_zoom/email_unprocessable.coffee:27, app/frontend/apps/desktop/pages/ticket/components/TicketDetailView/UnprocessableEmailWarning.vue:50,60
  • Customer from a broken address keeps the address as login and gets no email address: app/models/channel/filter/base_identify_user.rb:5-39
  • No sender at all assigns the system account and an overview prints "-": base_identify_user.rb:7-8, app/assets/javascripts/app/lib/app_post/ticket_list_callbacks.coffee:15
  • Monitoring and system report only count FailedEmail rows, which new failures no longer create: lib/monitoring_helper/health_checker/failed_email.rb:8-12
  • Time limit, malformed content and the rest route into the same error ticket: app/models/channel/email_parser.rb:136,146-147

An inbound email that cannot be processed becomes a ticket titled
"Unprocessable email" instead of a failed email record, so the email
channel pages and the monitoring note had to say where such a ticket
lands, what it carries and why the monitoring stays quiet.

Claim -> source anchor (zammad/zammad@ecc447bd63, follow-up 49ff10caaf,
none of it released yet):
- Fixed title, translated into the default language at creation:
  app/models/channel/email_parser/error_ticket.rb:4,126
- Group of the email channel, otherwise the group of the recipient
  address, otherwise the first active group: error_ticket.rb:75,
  app/models/channel/filter/identify_group.rb:11-21
- Ticket for the system account, state new: error_ticket.rb:73-79,
  spec/models/channel/email_parser_spec.rb:2113-2118
- Internal note of the system account with the raw email and the
  processing log: error_ticket.rb:82-96,115-122
- Warning above the conversation instead of the article, with both
  download buttons:
  app/assets/javascripts/app/controllers/ticket_zoom/email_unprocessable.coffee:27,
  app/frontend/apps/desktop/pages/ticket/components/TicketDetailView/UnprocessableEmailWarning.vue:50,60
- Customer from a broken address keeps the address as login and gets no
  email address: app/models/channel/filter/base_identify_user.rb:5-39
- No sender at all assigns the system account and an overview prints "-":
  base_identify_user.rb:7-8,
  app/assets/javascripts/app/lib/app_post/ticket_list_callbacks.coffee:15
- Monitoring and system report only count FailedEmail rows, which new
  failures no longer create:
  lib/monitoring_helper/health_checker/failed_email.rb:8-12
- Time limit, malformed content and the rest route into the same error
  ticket: app/models/channel/email_parser.rb:136,146-147
@github-actions

Copy link
Copy Markdown

Artifacts

Produced during runtime

📦 html-1fd9cc5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant