Некоторые картинки не загружаются из РФ и РК, используйте VPN.
Показаны сообщения с ярлыком sendmail. Показать все сообщения
Показаны сообщения с ярлыком sendmail. Показать все сообщения

среда, 8 мая 2024 г.

Sendmail двоеточие

При использовании sendmail и eocat может возникнуть проблема  с обработкой двоеточий в теле. Для обхода используйте пустую строку перед телом. Например сохранять тело письмо не так

echo "My text: this text" | tee file.txt

а в от так

echo -e "\nMy text: this text" | tee file.txt

или sed c cat

from=lte@domain.ru
to=it@domain.ru
( cat <<EOCAT
MIME-Version: 1.0
From: $from
To: $to
Subject: [ROOM][LTE][SMS]
Content-Type: text/plain
EOCAT
cat file.txt |sed -E '1 s/^(.*)$/\n\1/g' ) | /usr/sbin/sendmail -t

среда, 17 мая 2023 г.

Mailx,SendMail set sender address

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

Пояснение:

Почтовый сервер exchange, релей - postfix. Отчеты внутри сети передаются без проблем и на отправителя никто внимание не обращает. Но все письма пересылаются на GMAIL, где сортируются и раскидываются по категориям и я читаю их на завтрак.

Сегодня я не увидел самые важные отчеты на пя gmail, зато они были в аутлуке с рабочей почтой. Открыл postfix и нашел это:

our system has detected that this message is 550-5.7.1 likely unsolicited mail

Собственно гугл тонко намекает, что письмо отправлено с подозрительного адреса, и это действительно так, ибо адрес отправителя root@server.company.ru  подставляется автоматически. Можно конечно настроить сервер так, чтобы отправителем был легитимный адрес, но мне кажется это не целесообразным в сети, где и так есть свой почтовый сервер, поэтому в скрипте просто поправлю адрес отправителя:

Mail

user@server:~$ echo Not mount point | mail -s "[BACKUP] error" it@company.ru -r server@company.ru

Mailx

user@server:~$ echo Not mount point | mailx -s "[BACKUP] error" it@company.ru -r server@company.ru

Sendmail

user@server:~$ echo -e "Subject:[BACKUP] error\nnot mount point" | sendmail -f "server@company.ru" it@company.ru

или

user@server:~$ echo -e "Subject:[BACKUP] error \nFrom: server@company.ru \nTo: it@company.ru \n\n not mount point" | sendmail -t

Обращаем внимание на отсутствие пробелов в "\nFrom" и "\nTo", иначе будет ошибка "No recipient addresses found in header"