Adding Protonmail Email Accounts fail

Infos:

  • Used Zammad version: 3.4.0 + Elasticsearch
  • Used Zammad installation source: (source, package, …) RPM + also try on https://zammad.com
  • Operating system: CentOS7
  • Browser + version: Firefox 77

Expected behavior:

  • Option to add Email Accounts to work as work with other email clients

Actual behavior:

  • After adding IMAP and SMTP and all work great (including receiving of test email to mailbox of email) i get error: unknown token - "support" (i use email support@domain.com)

Request go to: https://domain.com/api/v1/channels_email_verify (POST)
And return:
{"result":"invalid","source":"inbound","message":"unknown token - \"support\"","message_human":null,"invalid_field":{},"subject":"#68449353301"}

This return is generated from file: /zammad-develop/lib/email_helper/verify.rb starting at row 82:

begin
  require_dependency "channel/driver/#{adapter.to_filename}"

  driver_class    = "Channel::Driver::#{adapter.to_classname}".constantize
  driver_instance = driver_class.new
  fetch_result    = driver_instance.fetch(params[:inbound][:options], self, 'verify', subject)
rescue => e
  result = {
	result:        'invalid',
	source:        'inbound',
	message:       e.to_s,
	message_human: EmailHelper::Probe.translation(e.message),
	invalid_field: EmailHelper::Probe.invalid_field(e.message),
	subject:       subject,
  }
  return result
end

Steps to reproduce the behavior:

  • On Premise or using https://zammad.com result is the same
  • Just follow UI steps for adding Email Accounts
  • Use Protonmail email. I have already setup different server that have ProtonBridge (IMAP, SMTP) and this is proven to work

I just trace back that error come from https://fossies.org/linux/ruby/lib/net/imap.rb row 3412

As we don’t have a proton instance to play with and a developer would like to take a look, would it be possible to have a temporary test account to have a deeper look?

Edit: Those credentials would be amazing via PM and not public of course! :slight_smile:

1 Like

Right place is row: 3440. Here is debug:

$stderr.printf("@str: %s\n", @str.dump)
$stderr.printf("@pos: %d\n", @pos)
$stderr.printf(“DATA_REGEXP: %s\n”, DATA_REGEXP)

return

@str: “* 1 FETCH (ENVELOPE (“Fri, 26 Jun 2020 11:23:34 +0300” “Zammad Getting started Test Email #65733655980” ((NIL NIL support domain.com)) ((NIL NIL support domain.com)) () ((NIL NIL support domain.com)) () () “” 5ef5b081d04db_74560aacef8ebd6067ad@zammad.mail))\r\n”
@pos: 114
DATA_REGEXP: (?i-mx:\G(?:(?# 1: SPACE )( )|(?# 2: NIL )(NIL)|(?# 3: NUMBER )(\d+)|(?# 4: QUOTED )"((?:[^\x00\r\n"\]|\["\])*)"|(?# 5: LITERAL ){(\d+)}\r\n|(?# 6: LPAR )(()|(?# 7: RPAR )())))

Our developers are already discussing this topic, just as a small feedback from my end. :slight_smile:

1 Like