Jump to content
Калькуляторы

Как лучше сделать почтовую рассылку с сервера?

Есть сервер, на котором крутятся различные скрипты и утилиты.

Один из скриптов отправляет абонентом уведомления о необходимости пополнения лицевого счета по SMS.

Некоторые абоненты хотят получать уведомления по email. И с email я бы хотел предварительно прояснить некоторые моменты.

 

Мы не используем свою почтовую службу, используем Gmail в своем домене.

В принципе, скрипт умеет отправлять email, используется PHPMailer (для скриптов на PHP) или Net::SMTPS (для скриптов на Perl), он отправляет отчеты о результате выполнения скрипта со специального служебного адреса auto@prov.domain.ru. Но это одиночные письма-отчеты.

Для массовой рассылки уведомлений скрипты нужно будет серьезно дорабатывать — делать очередь, соблюдать лимиты (чтобы не забанили), делать повторную отправку при необходимости. И много других специфичных вещей, с которыми я бы вовсе не хотел связываться. Кроме того, рассылка писем занимает достаточно много машинного времени и скрипты придется серьезно перерабатывать, чтобы это учитывать.

Мне кажется, что тут лучше будет использовать штатную почтовую подсистему (sendmail или аналог), в которую скрипт будет просто складывать письма, а та уже сама будет заботиться о рассылке. Но использование такого механизма обычно подразумевает, что сервер является почтовым сервером. А я бы хотел использовать Gmail.

Не посоветуете, как это реализовать?

Share this post


Link to post
Share on other sites
27 минут назад, alibek сказал:

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

Вы серьёзно? Никогда не замечал.

 

28 минут назад, alibek сказал:

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

Что мешает использовать свой исходящий почтовик при входящих по прежнему сугубо на гмыло?

Share this post


Link to post
Share on other sites

Проще поставить свой почтовый сервер. Поднятие и настройка Zimbra занимает от силы час с перекурами.

Share this post


Link to post
Share on other sites
1 минуту назад, snvoronkov сказал:

Что мешает использовать свой исходящий почтовик при входящих по прежнему сугубо на гмыло?

Я бы хотел, чтобы уведомления отправлял auto@prov.domain.ru (@prov.domain.ru — это домен, обслуживаемый Gmail).

Разве на своем почтовике я так смогу сделать?

Share this post


Link to post
Share on other sites
2 минуты назад, snvoronkov сказал:

Что мешает использовать свой исходящий почтовик при входящих по прежнему сугубо на гмыло?

Другие почтовые сервера весьма настороженно относятся к почте, прилетевшей не оттуда откуда ожидалось (по всяким там метрикам EHLO, PTR, SPF и другим DKIM).

Share this post


Link to post
Share on other sites
Только что, taf_321 сказал:

Проще поставить свой почтовый сервер.

Не проще. Мы довольно активно используем сервисы Google, и их взаимную интеграцию и интеграцию с андроидом.

Share this post


Link to post
Share on other sites
53 минуты назад, alibek сказал:

Я бы хотел, чтобы уведомления отправлял auto@prov.domain.ru (@prov.domain.ru — это домен, обслуживаемый Gmail).

Вам письмо от Билла Гейтса прислать? :-)

 

52 минуты назад, taf_321 сказал:

Другие почтовые сервера весьма настороженно относятся к почте, прилетевшей не оттуда откуда ожидалось (по всяким там метрикам EHLO, PTR, SPF и другим DKIM).

Не знаю, не знаю. Через наш почтовик прекрасно пишут клиенты с отправителем и из мыла-ру, и из гмыла...

Share this post


Link to post
Share on other sites

 

16 минут назад, snvoronkov сказал:

Не знаю, не знаю. Через наш почтовик прекрасно пишут клиенты с отправителем и из мыла-ру, и из гмыла...

А  через Ваш почтовик с фромом мейл ру получателю в гмейл ком ходит?

 

_dmarc.mail.ru.        283    IN    TXT    "v=DMARC1\;p=reject....

 

 

Share this post


Link to post
Share on other sites
36 минут назад, st_re сказал:

А  через Ваш почтовик с фромом мейл ру получателю в гмейл ком ходит?

Не проверял, а шерстить логи, честно говоря, лень немного.

 

ЗЫ: dmarc - всего-лишь для генерации отчетов. :-)

 

Upd:

Уже не отправляют!

 

# bzgrep 'from=<[^>]*@mail\.ru>' maillog* | grepcidr OUR_CIDR |wc -l

       0

 

Share this post


Link to post
Share on other sites

нет, не только... форварды на gmail.com и прочие поломались массов года, не помню, 2 назад, когда всякие разные навключали себе стрикт... 

 

ктот о шлет на наш адрес, все легитимно, оно проходит SPF и DKIM и мы его со стриктом берем, а потом оно пересылается на внешний сервер.... а там (мы же не тргали отправителя) от нас письмо с таким фромом уже не берут.. Это даже не релаинг, это в ящике стоит пересылка.

Share this post


Link to post
Share on other sites
3 минуты назад, st_re сказал:

форварды на gmail.com и прочие поломались массов года, не помню, 2 назад

Собственно, и флаг им в руки, барабан на шею.

 

Все равно к августу собрался похоронить и релэй, и исторически локальных пользователей - не сотрудников. Очень не хочется "одобренную ФСБ" шилизяку на узел ставить.

Share this post


Link to post
Share on other sites
1 час назад, snvoronkov сказал:

Вам письмо от Билла Гейтса прислать?

Речь то не об экспериментах.

Такое письмо может быть заблокировано как почтовым сервером получателя, так и самим гуглом (на этапе отправки).

 

Share this post


Link to post
Share on other sites
8 минут назад, alibek сказал:

Такое письмо может быть заблокировано как почтовым сервером получателя, так и самим гуглом (на этапе отправки).

Вариант: Использовать свой сервер, со своим адресом отправителя  и "Return-Path" и "Reply-To".

Share this post


Link to post
Share on other sites
5 минут назад, snvoronkov сказал:

Вариант: Использовать свой сервер, со своим адресом отправителя  и "Return-Path" и "Reply-To".

Кривовато это, как мне кажется.

В принципе, я управляю доменной зоной и наверное мог бы необходимые записи в SPF и DKIM внести, чтобы отправлять почту по SMTP прямо со своего сервера через MX гугла.

Но пока не соображу, что именно туда надо вносить.

Либо сервер должен отправлять почту как почтовый клиент — но это сложнее в реализации и нужно довольно много условий соблюдать, чтобы не заблокировали, как спамера.

Share this post


Link to post
Share on other sites

Сейчас у меня в зоне прописаны следующие записи:

@                 TXT    ( "google-site-verification=***" )
                  MX 10  aspmx.l.google.com.
                  MX 20  alt1.aspmx.l.google.com.
                  MX 20  alt2.aspmx.l.google.com.
                  MX 30  aspmx2.googlemail.com.
                  MX 30  aspmx3.googlemail.com.
                  MX 30  aspmx4.googlemail.com.
                  MX 30  aspmx5.googlemail.com.
@                 TXT    ( "v=spf1 include:_spf.google.com +ip4:aa.aa.aa.0/25 ~all" )
gmail._domainkey  TXT    ( "v=DKIM1; k=rsa; p=***" )
_dmarc            TXT    ( "v=DMARC1; p=none; rua=mailto:admin@prov.domain.ru" )

Но видимо этого гуглу недостаточно, не хочет принимать почту на отправку с aa.aa.aa.0/25.

Может кто подскажет, что еще нужно?

Share this post


Link to post
Share on other sites
19 минут назад, alibek сказал:

Может кто подскажет, что еще нужно?

Спросить у гугла?

 

Я серьезно. Вот лично мне хранить внутреннюю корпоративную почту у "всемирного сетевого диктатора" даже в кошмарном сне не снилось.

Share this post


Link to post
Share on other sites
4 минуты назад, snvoronkov сказал:

Спросить у гугла?

На бесплатной учетке саппорта нет, только форумы.

А там на специфичные вопросы ответ получить тяжело.

 

5 минут назад, snvoronkov сказал:

Вот лично мне хранить внутреннюю корпоративную почту у "всемирного сетевого диктатора" даже в кошмарном сне не снилось.

Например, почему? Гугл украдет все производственные секреты и продаст их конкурентам?

Share this post


Link to post
Share on other sites
1 час назад, alibek сказал:

Сейчас у меня в зоне прописаны следующие записи:


@                 TXT    ( "google-site-verification=***" )
                  MX 10  aspmx.l.google.com.
                  MX 20  alt1.aspmx.l.google.com.
                  MX 20  alt2.aspmx.l.google.com.
                  MX 30  aspmx2.googlemail.com.
                  MX 30  aspmx3.googlemail.com.
                  MX 30  aspmx4.googlemail.com.
                  MX 30  aspmx5.googlemail.com.
@                 TXT    ( "v=spf1 include:_spf.google.com +ip4:aa.aa.aa.0/25 ~all" )
gmail._domainkey  TXT    ( "v=DKIM1; k=rsa; p=***" )
_dmarc            TXT    ( "v=DMARC1; p=none; rua=mailto:admin@prov.domain.ru" )

Но видимо этого гуглу недостаточно, не хочет принимать почту на отправку с aa.aa.aa.0/25.

Может кто подскажет, что еще нужно?

Так и говорит "нэхачу" ? или таки какаято другая фраза ? Дким подписываете тем же ключем (для которого у Вас указан в зоне NAME._domainkey, в Вашем случае NAME=gmail)? Hint в зоне таких записей может быть много, с разными NAME.

Share this post


Link to post
Share on other sites

Ключ и селектор я копипастил из инструкции Google, других селекторов мы не используем.

Код ошибки уже не помню, попробую повторить еще раз.

 

P.S. Кстати, а приватного ключа то у меня и нету, он только в гугле есть.

Видимо нужно добавлять свою зону и подписывать собственным ключом.

Share this post


Link to post
Share on other sites

ну вы и нагородили:) решается элементарно exim'om как минимум, (а поидее любым стандартным MTA) - ставите локальный MTA, свои скрипты натравливаете на него, а MTA настраиваете релеить все через нужным вам гугловский акаунт. в дебиане даже тупо менюшкой в консоли при первой установке можно настроить выбрав данный режим работы и вбив туда сервир-login-pass.

Share this post


Link to post
Share on other sites
1 час назад, alibek сказал:

Например, почему? Гугл украдет все производственные секреты и продаст их конкурентам?

Я понятия не имею зачем гуглу столько подробностей всевозможных операций и какие он на них бигдаты растит и ИИ обучает, но то, что оно жрёт просто таки море детальки по сотовой связи, использованию ключей ssl, почты и т.д. остаётся фактом.

Share this post


Link to post
Share on other sites

Так, все решилось проще, чем я боялся.

Через exim, кстати.

Но осталась одна странность.

Отправляю тестовое письмо — оно доходит, но почему-то как root@prov.domain.ru, а не как auto@prov.domain.ru (хотя в /etc/email-addresses соответствующую строчку я добавил).

Вторая странность — если отправляю письмо с ключом -d (mail -d ...), то оно не доходит. А без ключа -d доходит.

Share this post


Link to post
Share on other sites
59 минут назад, alibek сказал:

Отправляю тестовое письмо — оно доходит, но почему-то как root@prov.domain.ru, а не как auto@prov.domain.ru (хотя в /etc/email-addresses соответствующую строчку я добавил).

 

там гдето rewrite должен делаца, но я уже не помню где чем и как, давно в такой позе exim не юзал, но это точно решаемо.

Share this post


Link to post
Share on other sites
В 28.02.2018 в 17:38, alibek сказал:

Так, все решилось проще, чем я боялся.

Через exim, кстати.

Но осталась одна странность.

Отправляю тестовое письмо — оно доходит, но почему-то как root@prov.domain.ru, а не как auto@prov.domain.ru (хотя в /etc/email-addresses соответствующую строчку я добавил).

Вторая странность — если отправляю письмо с ключом -d (mail -d ...), то оно не доходит. А без ключа -d доходит.

рассылку делаю через свой MTA sendmail, а письма генерятся и отправляются perl скриптом c Mime-tools. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this