Показаны сообщения с ярлыком mail. Показать все сообщения
Показаны сообщения с ярлыком mail. Показать все сообщения

вторник, 14 марта 2017 г.

centos 7: заставляем работать почту

Есть сервер, с которого не уходит почта, ошибка выглядит так
send-mail: Cannot open mail:25

После активации rsyslog (service rsyslog start) в логе /var/log/maillog видим
sSMTP[30209]: Unable to locate mail
sSMTP[30209]: Cannot open mail:25

И видим виновника, это ssmtp. Какой-то стрёмный сервер, не умеющий быть полноценным MTA даже на отправку. 
Поставим postfix
yum -y install postfix
systemctl enable postfix
systemctl start postfix
Но для работы этого недостаточно. Смотрим, кто сейчас mta
alternatives --display mta
Видим снова ssmtp. Можно переключить мта на postfix, а можно просто yum -y erase ssmtp и всё начнёт ходить, переключать mta не нужно.
Ну и убедимся, что стоит mailx
yum install -y mailx


четверг, 14 июля 2016 г.

debian 8, apache, php: почта ходит только от рута

Довелось настраивать debian 8 + apache 2.4 (ITK) + php, штатный почтовик exim (и сразу - не забываем сказать dpkg-reconfigure exim4-config и выставить режим internet site), а дальше - есть скрипт-мейлер, от рута из консоли mail() возвращает true, а ровно оно же но через сайт отдаёт false. При этом в paniclog появляется строка
 unable to set gid=1000 or uid=0 (euid=0): forcing real = effective
По данной строке уже гуглится проблема и решение:
<IfModule mpm_itk_module>
LimitUIDRange 0 6000
LimitGIDRange 0 6000
</IfModule>

ну или так
echo "LimitGIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
echo "LimitUIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
service apache2 restart
(только с гидом не работает, надо uid+gid)

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

Плюс кому-то также в exim надо вписать 
disable_ipv6 = true

И опционально в /etc/php5/apache/php.ini найти sendmail_path и выставить
sendmail_path = "/usr/sbin/exim4 -ti"

И немного доков

среда, 25 марта 2015 г.

Отправка почты с вложениями из консоли

Простой вариант
cat file.txt | mail -s "text file" your@domain.com
отправит файл "как есть", в теле письма. Но так не получится отправить картинки или несколько файлов.

суббота, 12 апреля 2014 г.

zabbix: учим слать почту через сервера с авторизацией

К сожалению, zabbix в плане почты завис в прошлом веке, поэтому ему нельзя указать логин-пароль для smtp-авторизации, а без авторизации ни один вменяемый почтовый сервер уже почту не примет. Влияние спаммеров...

sendmail: Отправка почты в мир с локальным hostname

Понадобилось настроить отправку почты с сервера за NAT, вдобавок сервер с внутренним hostname (вида zabbix.local). Поменять имя сервера нельзя и нет смысла. Вообще, правильным решением было бы снести этого монстра прошлого века и поставить что-то нормальное, но было желание получить опыта.

в /etc/mail/sendmail.mc ищем LOCAL_DOMAIN и вписываем туда нужный нам хостнейм, повторяем для MASQUERADE_AS. То, что кавычки в начале и конце строки разные -- не бага, а фича, аккуратно! Чуть ниже идут MASQUERADE_DOMAIN, добавляем секцию с внешним хостнеймом (примеры там есть). А также активируем
FEATURE(`always_add_domain')dnl
FEATURE(`masquerade_entire_domain')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`allmasquerade')dnl

Теперь ставим sendmail-cf, чтобы можно было пересобрать конфигурацию, и перестраиваем конфиг
make -C /etc/mail
/etc/init.d/sendmail restart

От рута не тестируем! Сендмыл неадекватен и рутовую почту не подменяет даже с FEATURE(`allmasquerade') ! Вот всяком случае, с centos 5.10
Отслеживать можно через просмотр очереди mailq, очистка очереди через удаление файлов в /var/spool/mqueue
Причины отказа в /var/log/maillog

Линки

суббота, 27 апреля 2013 г.

postfix: очистка почты

Оказалось, что с почтой в exim и postfix надо работать по разному. Про exim уже была неплохая подборка, теперь на очереди postfix.

Где лежат исходящие письма (линь):

/var/spool/postfix/deferred/ - сами сообщения
/var/spool/postfix/defer/ - сообщения о процессе доставки (например, почему отложено)

среда, 1 августа 2012 г.

exim, гугл и ipv6

# echo "test www1" | mail -v -s "testing www1" (skip)@gmail.com
LOG: MAIN
  <= root@server.spb.ru U=root P=local S=396

# delivering 1SwU4n-000NDx-Fz
Connecting to gmail-smtp-in.l.google.com [2a00:1450:8005::1a]:25 ... LOG: MAIN PANIC DIE
  unable to parse "2a00:1450:8005::1a" as an IP address: ai_family not supported
LOG: MAIN
  == (skip)@gmail.com R=dnslookup T=remote_smtp defer (-1): smtp transport process returned non-zero status 0x0100: exit code 1
LOG: MAIN
  Frozen

Причина в том, что по какой-то причине система пытается отправить по ipv6, и при невозможности - просто забивает, вместо пробы другого протокола. Может возникнуть в частности при собранном exim с ipv6 и отключенным ипв6 в самой системе.
Решение: ставить exim без поддержки ипв6 или добавить в конфиг опцию
disable_ipv6 = yes
и перезапустить сервис. Мне было проще пересобрать без ipv6 вообще, поскольку всё-равно пока протокол сырой и ещё лет 5 для внедрения допустим только после тщательных тестов. И минимум несколько лет после массового перехода в протоколе будут находить критические дыры.

среда, 13 июля 2011 г.

SPF: разбираемся с include

Что такое SPF, уже было. Что значат a mx в начале записей там тоже можно найти.

Когда нужен include? Представим, что у нас много своих айпи или просто много доменов и мы хотим при переезде 1 сервера на новые айпи менять не все домены, что там сидели (а это может быть даже 1500 доменов), а 1 общий. В этом случае на этих доменах создается TXT запись вида
@ TXT "v=spf1 a mx include:OurMainDomain.ru -all"
Теперь достаточно поменять запись только для OurMainDomain.ru и всё.
Могут быть варианты и сложнее, с несколькими include, хотя тут уже лучше не увлекаться.
А что если для самого OurMainDomain.ru также нужна SPF запись? В этом случае надо вынести нашу служебную TXT на отдельный поддомен.

Для начала, посмотрим на include:_spf.google.com

host -a _spf.google.com
Trying "_spf.google.com"
;; ->>HEADER<<- data-blogger-escaped-25361="25361" data-blogger-escaped-br="br" data-blogger-escaped-id:="id:" data-blogger-escaped-noerror="noerror" data-blogger-escaped-opcode:="opcode:" data-blogger-escaped-query="query" data-blogger-escaped-status:="status:"> ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;_spf.google.com. IN ANY

;; ANSWER SECTION:
_spf.google.com. 300 IN TXT "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"

;; AUTHORITY SECTION:
google.com. 324838 IN NS ns2.google.com.
google.com. 324838 IN NS ns4.google.com.
google.com. 324838 IN NS ns1.google.com.
google.com. 324838 IN NS ns3.google.com.

;; ADDITIONAL SECTION:
ns1.google.com. 206645 IN A 216.239.32.10
ns2.google.com. 206645 IN A 216.239.34.10
ns3.google.com. 206645 IN A 216.239.36.10
ns4.google.com. 140190 IN A 216.239.38.10

Похоже, что для такого подключения сейчас стандарт _spf.domain, типа TXT
Таким образом, на нашем OurMainDomain.ru надо добавить запись
_spf IN TXT "v=spf1 ip4:x.x.x.x ?all"
?all нужен: если у нас после этого include идёт ещё (можно писать больше 1 include), чтобы проверка почтовиком не остановилась и проверяла записи дальше.
Означает "если адрес не подошёл ни к одному правилу, считать, что проверка не проводилась".

Важный нюанс: не стоит делать include, который показывает на нестабильный dns: если не удалось получить эти данные, почта перестанет ходить. Во всяком случае, так пишут во всех мануалах. Как я понимаю, ошибка подключения фактически выдаст "-all".

вторник, 12 июля 2011 г.

sorbs

Ни в коем случае не используйте sorbs! Отвратительная система. Проверить айпи в списке без регистрации невозможно, удалиться тем более. "проверить без регистрации" ведет на страницу регистрации. Автоматической отписки по неактивности (нет больше спама) нету. Для регистрации перекидывает на https, самоподписанный. Для регистрации требуется: личный телефон (!), рабочий (!!), мобильный (!!!), полная информация о нахождении, почта не на бесплатном хостинге... Кем они себя возомнили, хозяевами мира? Осталось только брать деньги за удаление из бана и будет стандартная система жуликов.. не знаю, как таких называть. Это как псевдоантивирусы, которые не только ничего не лечат, но и сами троянов засылают.
Может у кого есть идеи, как бойкотировать такие системы?

понедельник, 16 мая 2011 г.

четверг, 5 мая 2011 г.

Проверка айпи в спам-листах

http://www.spamhaus.org/query/bl?ip=1.1.1.1
http://www.senderbase.org/senderbase_queries/detailip?search_string=1.1.1.1
http://support.clean-mx.de/clean-mx/publog?ip=1.1.1.1
http://www.spamcop.net/w3m?action=checkblock&ip=1.1.1.1

"Массовая" проверка в листах:
http://www.dnsbl.info/dnsbl-database-check.php

PS
Ни в коем случае не используйте sorbs! Отвратительная система. Проверить айпи в списке без регистрации невозможно, удалиться тем более. "проверить без регистрации" ведет на страницу регистрации. Автоматической отписки по неактивности (нет больше спама) нету. Для регистрации перекидывает на https, самоподписанный. Для регистрации требуется: личный телефон (!), рабочий (!!), мобильный (!!!), полная информация о нахождении, почта не на бесплатном хостинге... Кем они себя возомнили, хозяевами мира? Осталось только брать деньги за удаление из бана и будет стандартная система жуликов.. не знаю, как таких называть. Это как псевдоантивирусы, которые не только ничего не лечат, но и сами троянов засылают.
Может у кого есть идеи, как бойкотировать такие системы?

(создам отдельную копию сообщения про сорбс)

понедельник, 11 апреля 2011 г.

Gmail: Username is reserved for email list only

При попытке создать ящики (на своих доменах) abuse и postmaster сервер скажет "Username is reserved for email list only". Эти ящики используются Google Team для обработки спама и происшествий. Если есть желание получать себе копии -- можно создать группы abuse и postmaster и добавить туда нужные адреса.
Это раздел Groups (Группы)

Описание на офсайте:
http://www.google.com/support/a/bin/answer.py?answer=33389

среда, 22 декабря 2010 г.

exim - полезные сайты

Небольшая, но имхо весьма хорошая подборка


http://odminblog.ru/cheets-and-tips-exim/
Всякие полезности для exim | Одминский блог
http://odminblog.ru/exim-queue/
Работа с очередью Exim | Одминский блог
http://odminblog.ru/exim-acl-vs-spam/
Борьба со спамом в MTA EXIM с помощью ACL | Одминский блог
http://odminblog.ru/global-external-alias-using-exim/
Организация глобального внутреннего алиаса средствами exim | Одминский блог

И от меня.
Отправляем все письма в очереди, в том числе замороженные и которым еще рано
exiqgrep -i|xargs exim -M

Сколько у нас писем в очереди
exim -bpc

Переключение клиента в centos
alternatives --config mta

четверг, 2 декабря 2010 г.

Цинизм в IT: Диагностика проблем с почтой на сервере / VPS

Цинизм в IT: Диагностика проблем с почтой на сервере / VPS: "Добрый вечер! Сегодня решил написать об одной из самых частых и часто сложных проблем при работе с выделенными серверами / VPS - это проблемы с почтой, причем как входящей, так и исходящей. Итак, поехали."