Я системный администратор многопользовательской игры на сервере CentOS 6.5 Linux для клиента.
Клиент попросил меня присылать ежедневные логи чата (для выявления и блокировки агрессивных игроков) - в виде прикрепленного текстового файла.
Итак, я придумал следующую команду crontab:
CONTENT_TYPE="text/plain; charset=utf-8"
MAILFROM=First.Last@gmail.com
LANG=en_US.UTF-8
#minute hour mday month wday command
55 23 * * *
grep CHAT /var/log/game-`date +\%a`-*.txt |
(echo 'The log is attached'; uuencode `date +\%A`.txt) |
mail -s 'The daily chat log' First.Last@yandex.ru
У меня это хорошо работает с Gmail. Но клиент использует только учетные записи Mail.ru или Yandex.ru и там все плохо - вложения не отображаются, и он видит uuencode вывод в строке (он же begin 664 MT)Blah§$%&Blah
):
У меня вопрос если есть более безопасный способ отправить вывод задания cron по почте как прикрепленный текстовый файл. Я знаю, что с помощью perl можно сделать многое (и я могу его запрограммировать), но мне интересно, есть ли более простой способ - с помощью uuencode или mailx или какая-то другая утилита?
mailx
имеет -a <filename>
переключатель, чтобы добавить вложения. А на CentOS 6 по умолчанию /bin/mail
уже mailx.