SMTP account works, IMAP does not, verify emails not sent

  • Used Zammad version: 6.3.1
  • Used Zammad installation type: docker-compose
  • Operating system: Alma 9.4
  • Browser + version: Chrome/Linux 126

Expected behavior:

  • add a new inbound account
  • insert all configuration settings
  • click “Continue”
  • Zammad should send a verification email to the target email box which it should then read after a period (or so the documentation says)

Actual behavior:

  • after clicking Continue, Zammad shows a message “Verifying” and nothing else
  • I have access to the underlying email server and there are no logs from Zammad (for either send or receive)
  • I previously added a send/outgoing account (the same account as IMAP) with no problem, the outbound test/verify works
  • the account in question has tested correctly for both inbound and outbound in an email client (Thunderbird)

Steps to reproduce the behavior:

  • add a new inbound account
  • insert all configuration settings
  • settings include “disable SSL verification” and “no SSL”

Docker log:

zammad-railsserver-1 | I, [2024-07-23T19:29:47.573505#1-149640] INFO – : Started POST “/api/v1/channels_email_inbound” for 172.25.0.1 at 2024-07-23 19:29:47 +0200
zammad-railsserver-1 | I, [2024-07-23T19:29:47.576129#1-149640] INFO – : Processing by ChannelsEmailController#inbound as JSON
zammad-railsserver-1 | I, [2024-07-23T19:29:47.576170#1-149640] INFO – : Parameters: {“adapter”=>“imap”, “options”=>{“realname”=>“XXX CRM”, “email”=>“crm@xxx.com”, “group_id”=>“1”, “host”=>“mail.xxx.co.za”, “user”=>“xxx@yyy.com”, “password”=>“[FILTERED]”, “ssl”=>“off”, “ssl_verify”=>false, “port”=>“143”, “folder”=>“”, “keep_on_server”=>false}}
zammad-railsserver-1 | I, [2024-07-23T19:29:47.583110#1-149640] INFO – : fetching imap (mail.xxx.com/xxx.com port=143,ssl=false,starttls=false,folder=INBOX,keep_on_server=false,auth_type=LOGIN)
zammad-railsserver-1 | I, [2024-07-23T19:30:06.747234#1-150240] INFO – : Started GET “/api/v1/channels_email?_=1721754219859” for 172.25.0.1 at 2024-07-23 19:30:06 +0200
zammad-railsserver-1 | I, [2024-07-23T19:30:06.749937#1-150240] INFO – : Processing by ChannelsEmailController#index as JSON

Any assistance would be appreciated,

Regards, Robby

Hi @rpedrica. I guess you need to check what happens exactly. E.g. you need to check if the channel is created and, for example, only verifying is not working.

Thanks for your reply. The channel is not created (at least there is nothing in the UI). I would assume that nothing further would be done if the verify does not complete successfully, and this is not happening because Zammad is not even attempting to send out the verify email.

Is there anything else I can do or check? eg. logs?

Is there any way of adding the channel without verification?

Thanks

Zammad does verify the following things during sendout:

  • send to the email address provided (self addressing the IMAP account to check if IMAP fetching does function)
  • send an external email to verify-external-smtp-sending@discard.zammad.org which is dropped immediately on our Mail-Server.

If the sendout or fetching is not successful, the channel cannot be added. During the mailbox verification you should be able to see verification mails in the inbox of the affected mailbox. You could check that. If not also check your spam folder and, if the mails are in there, move them to your inbox.

To clarify per my original query:

  1. the outbound email works correctly

  1. when adding the outbound email, the verify test works correctly (to verify-external…)

  2. Adding the inbound email does NOT work because Zammad is NOT sending a verification email (at least not via the above outbound smtp connector)

  3. I have access to the imap/smtp server and can see that Zammad is NOT sending a test/verification email only doing a successful IMAP connection:

Aug 9 20:18:51 xxx imapd: LOGIN, user=x@x, ip=[192.168.0.1], port=[39036], protocol=IMAP
Aug 9 20:20:17 xxx imapd: DISCONNECTED, user=x@x, ip=[192.168.0.1], headers=0, body=0, rcvd=36, sent=278, time=86

This is all you see. There is no attempt to send the verification email. The verification process will never complete because the verification email is NOT sent.

Hoping this is clear now. Can you assist as to why Zammad is not sending the verification email?

Thanks, Robby

I’m indicating a resolution here. The issue turned out to be network related. The design is as follows:

docker/zammad <—> firewall <—> internet

The service presented by zammad is hosted publicly through a VIP on the firewall. I.o.w. visitors will access a public IP on the firewall (via a public DNS hostname) and then be forwarded on to the Zammad instance which is internal.

When accessing certain functions on Zammad (eg. the verification), traffic flows from Zammad out the firewall and then back in again to the mail server.

This requires special support in the firewall (called hair-pinning) or you need to access the mail server on its internal/private IP address.

I’ve used the 2nd option and this resolves the verification issue.

Thanks for the assistance, Robby

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.