URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94462
[ Назад ]

Исходное сообщение
"cron and nail "

Отправлено droff , 14-Мрт-13 13:50 
Доброго времени суток!
Подскажите пожалуйста
есть скрипт формирующий лог файл и последующей отправкой его на почту.
В целом скрипт работает, но есть проблема с отправкой на почту, т .е mail приходит, но сообщение в аттаче с пустым именем, а надо что бы оно приходило в теле письма
Если запускать в ручную из консоли все ок, но если задание запускается через крон то приходит аттач

Отправка идет так:
nail -r example@example.ru -s "Thema" -S smtp=smtp.example.ru -S smtp-auth-user=user -S smtp-auth-password=password recipient@example.ru < log2.log

Как заставить отправляться в теле письма?


Содержание

Сообщения в этом обсуждении
"cron and nail "
Отправлено pavlinux , 14-Мрт-13 14:06 
> Как заставить отправляться в теле письма?

man mail


"cron and nail "
Отправлено droff , 14-Мрт-13 15:06 
>> Как заставить отправляться в теле письма?
> man mail

а более подробно можно ... как задать content type я не нашел...


"cron and nail "
Отправлено pavlinux , 16-Мрт-13 22:30 
>>> Как заставить отправляться в теле письма?
>> man mail
> а более подробно можно ... как задать content type я не нашел...

Sending mail from scripts


"cron and nail "
Отправлено droff , 19-Мрт-13 13:37 
>>>> Как заставить отправляться в теле письма?
>>> man mail
>> а более подробно можно ... как задать content type я не нашел...
>  Sending mail from scripts

-E пробовался, сообщение все равно приходит в аттаче...


"cron and nail "
Отправлено LSTemp , 21-Мрт-13 00:19 
>>>>> Как заставить отправляться в теле письма?
>>>> man mail
>>> а более подробно можно ... как задать content type я не нашел...
>>  Sending mail from scripts
> -E пробовался, сообщение все равно приходит в аттаче...

скрипт светите уже.



"cron and nail "
Отправлено droff , 21-Мрт-13 15:07 
>>>>>> Как заставить отправляться в теле письма?
>>>>> man mail
>>>> а более подробно можно ... как задать content type я не нашел...
>>>  Sending mail from scripts
>> -E пробовался, сообщение все равно приходит в аттаче...
> скрипт светите уже.

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

вот кусок как происходит отправка:
/bin/cat log.log | /bin/sed 's/\r//g' > log2.log
nail -r user@yandex.ru -s "Parser $DATESTAMP $TIMESTAMP" -S smtp=smtp.yandex.ru -S smtp-auth-user=user -S smtp-auth-password=password user@domain.ru < log2.log


"cron and nail "
Отправлено LSTemp , 23-Мрт-13 05:32 
>[оверквотинг удален]
>>>>  Sending mail from scripts
>>> -E пробовался, сообщение все равно приходит в аттаче...
>> скрипт светите уже.
> сам скрипт не вижу смысла публиковать, так как там идут запросы к
> бд, к другим скриптам и т.д.(с отправкой это ни как не
> связанно) результат пишется (log.log) собственно его и нужно отправить
> вот кусок как происходит отправка:
> /bin/cat log.log | /bin/sed 's/\r//g' > log2.log
> nail -r user@yandex.ru -s "Parser $DATESTAMP $TIMESTAMP" -S smtp=smtp.yandex.ru -S smtp-auth-user=user
> -S smtp-auth-password=password user@domain.ru < log2.log

мляяя.... хватит тупить (похрен откуда и какие данные). команду крона покажите.

и покажите еще $PATH & pwd, когда у Вас из консоли нормально отправка идет. Доступно?



"cron and nail "
Отправлено droff , 23-Мрт-13 23:29 
>[оверквотинг удален]
>> сам скрипт не вижу смысла публиковать, так как там идут запросы к
>> бд, к другим скриптам и т.д.(с отправкой это ни как не
>> связанно) результат пишется (log.log) собственно его и нужно отправить
>> вот кусок как происходит отправка:
>> /bin/cat log.log | /bin/sed 's/\r//g' > log2.log
>> nail -r user@yandex.ru -s "Parser $DATESTAMP $TIMESTAMP" -S smtp=smtp.yandex.ru -S smtp-auth-user=user
>> -S smtp-auth-password=password user@domain.ru < log2.log
> мляяя.... хватит тупить (похрен откуда и какие данные). команду крона покажите.
> и покажите еще $PATH & pwd, когда у Вас из консоли нормально
> отправка идет. Доступно?

команда в кроне 0 20 * * 1,2,3,4,5 root sh /var/parsers/romarin_parser/romarin.sh

pwd
/var/parsers/romarin_parser

echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/val/.local/bin:/home/val/bin



"cron and nail "
Отправлено LSTemp , 25-Мрт-13 04:43 
>[оверквотинг удален]
>>> nail -r user@yandex.ru -s "Parser $DATESTAMP $TIMESTAMP" -S smtp=smtp.yandex.ru -S smtp-auth-user=user
>>> -S smtp-auth-password=password user@domain.ru < log2.log
>> мляяя.... хватит тупить (похрен откуда и какие данные). команду крона покажите.
>> и покажите еще $PATH & pwd, когда у Вас из консоли нормально
>> отправка идет. Доступно?
> команда в кроне 0 20 * * 1,2,3,4,5 root sh /var/parsers/romarin_parser/romarin.sh
> pwd
> /var/parsers/romarin_parser
> echo $PATH
> /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/val/.local/bin:/home/val/bin

echo $SHELL для юзера из под которого скрипт нормально срабатывает из комндной строки.

PS
и читайте Lavr-а. )


"cron and nail "
Отправлено lavr , 24-Мрт-13 13:05 
>[оверквотинг удален]
> есть скрипт формирующий лог файл и последующей отправкой его на почту.
> В целом скрипт работает, но есть проблема с отправкой на почту, т
> .е mail приходит, но сообщение в аттаче с пустым именем, а
> надо что бы оно приходило в теле письма
> Если запускать в ручную из консоли все ок, но если задание запускается
> через крон то приходит аттач
> Отправка идет так:
> nail -r example@example.ru -s "Thema" -S smtp=smtp.example.ru -S smtp-auth-user=user
> -S smtp-auth-password=password recipient@example.ru < log2.log
> Как заставить отправляться в теле письма?

давайте чуть более понятно:

1) Вы хотите чтобы в теле письма НЕ БЫЛО attachment'а, а вместо него был текст?
2) С командной строки у Вас это получается?

1) чтобы не было attachment'а, необходимо что? - чтобы в headers не было mime
заголовоков - это значит что headers должны содержать только ascii символы, в том
числе и Subject. В теле письма должны быть ascii символы без спец.символов и ограничение
на длину строки (если память не изменяет, кстати в headers тоже)

если хотим чтобы в headers были mime заголовки, но тело письма содержало 8bit
символы, значит нужно смотреть как и можно ли через переменные set nailrc задать
content-type и content-transfer-encoding, ну например:

Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="KOI8-R"

еще раз: должны быть ascii символы и НЕ ДОЛЖНО БЫТЬ СПЕЦСИМВОЛОВ, даже при
задании content...

2) с командной строки у Вас работает, а через cron - нет, чем отличается?
- использованием nailrc
- locale или переменная LANG
- mimetype который использует nail для разных расширений файлов (смотрите из какого файла
nail берет ассоциации mime)


"cron and nail "
Отправлено droff , 26-Мрт-13 10:53 
Всем спасибо! решилось, проблема была в locale

"cron and nail "
Отправлено lavr , 26-Мрт-13 10:57 
> Всем спасибо! решилось, проблема была в locale

итог: если без эмоций все расписать, то оказывается просто?


"cron and nail "
Отправлено droff , 26-Мрт-13 13:36 
>> Всем спасибо! решилось, проблема была в locale
> итог: если без эмоций все расписать, то оказывается просто?

просто прописал LANG=en_US.UTF-8
и все заработало как надо


"cron and nail "
Отправлено droff , 26-Мрт-13 13:36 
>>> Всем спасибо! решилось, проблема была в locale
>> итог: если без эмоций все расписать, то оказывается просто?
> просто прописал LANG=en_US.UTF-8
> и все заработало как надо

еще раз спасибо