Назад | Перейти на главную страницу

Postfix отклоняет мой SMTP-клиент

Я пишу клиент JavaMail (работающий на сервере GlassFish 4), и мне не удалось заставить мой сервер Zimbra ZCS принять сеанс SMTP. Неизменно я получаю следующую ошибку в zimbra.log:

Dec 19 04:51:05 mail postfix/submission/smtpd[24088]: NOQUEUE: reject: RCPT from c-24-6-111-204.hsd1.ca.comcast.net[24.6.111.204]: 554 5.7.1 <c-24-6-111-204.hsd1.ca.comcast.net[24.6.111.204]>: Client host rejected: Access denied; from=<info@myserver.com> to=<info@ myserver.com> proto=ESMTP helo=<192.168.88.12>

Я добавил IP-адрес моей локальной локальной системы (как частный, так и общедоступный) в конфигурацию постфикса следующим образом:

$ postconf mynetworks
mynetworks = 127.0.0.0/8 [::1]/128 10.1.0.0/16 64.71.111.112/28 24.6.111.204/32 192.168.88.0/24

Подсеть 64.71.111.112 включает публичный IP-адрес сервера. Адрес 24.6.111.204 - это общедоступный IPv4-адрес моего NAT-маршрутизатора.

В моем клиенте JavaMail я установил следующие свойства:

mail.smtp.port = 587
mail.smtp.auth = true
mail.smtp.starttls.enable = true
mail.user = 'info@myserver.com'
mail.smtp.password = 'thepassword'

Я действительно застрял - может ли кто-нибудь предложить контрольный список вещей, которые нужно проверить, чтобы это работало?

Как оказалось, проблема заключалась в опечатке в моих настройках свойств Glassfish. У меня было имя свойства как mail.starttls.enable когда это должно было быть (как показано выше) mail.smtp.starttls.enable. Еще одна иллюстрация того, как можно потратить кучу времени, не видя того, что нужно видеть.

Я считаю, что стек протоколов на стороне сервера не регистрирует ничего более полезного, чем сообщение «Доступ запрещен», потому что у него нет оснований полагать, что клиент не намеревался не использовать сеанс TLS.

Вместо того, чтобы удалять этот пост, я оставлю его на тот случай, если кто-то в будущем сочтет его полезным. Я не нашел хороших руководств или учебных пособий по созданию комбинации Glassfish 4, JavaMail и Zimbra ZCS для совместной работы.