Почта для сервисов на Gmail

8 ноября 2019

Когда используете почтовые ящики на Gmail для связи сервисов с внешним миром, помните, что у них есть две неочевидные особенности.

Во-первых:

Если сервис отправляет исходящее письмо через гугловский SMTP-сервер, Gmail помещает его копию в папку «Отправленные». Это удобная, но неочевидная функция.

В большинстве почтовых систем в папку «Отправленные» пишет только IMAP-клиент (и веб-интерфейс, который зачастую тоже является IMAP-клиентом).

SMTP должен авторизовать клиента, принять от него письмо и отправить на сервер получателя. В почтовом ящике клиента SMTP-сервер должен писать только во «Входящие», и только в том случае, если клиент является получателем письма.

В данном случае Gmail решил, что неявное расширение возможностей сверх стандартных пойдёт во благо, хотя согласились с этим не все.

Во-вторых:

Если вы решите фильтровать входящие письма (например, ставить на них произвольную метку с целью сохранять в ящике даже после выгрузки сервисом через POP3 с удалением, или флаг «Никогда не отправлять в спам»), то обнаружите, что фильтры применяются не только к входящей почте, но и к исходящей (сохранённой SMTP-сервером), причём после фильтрации письма из «Исходящих» оказываются во «Входящих».

Чтобы избежать этого, фильтр должен содержать условие from:(!me)

Если такого условия в фильтре не будет, велика вероятность, что сервис вступит в переписку сам с собой.

В нашем случае таким сервисом стал OTRS:

  • По входящему письму он создавал новую заявку и рассылал о ней уведомления менеджерам (с исходным письмом в виде цитаты).
  • SMTP relay помещал их копии в «Исходящие», а фильтр перемещал во «Входящие».
  • Оттуда OTRS скачивал их, добавлял в заявку и снова рассылал менеджерам, вставляя в каждое следующее письмо шаблон-заголовок и цитату предыдущего.


← Назад в Блог

Подпишитесь на новые статьи: