Вопрос

У меня есть сценарий bash, который выполняет запрос в postgres и выводит его в csv.Я хочу добавить к этому сценарию, чтобы использовать mailx для отправки этого CSV-файла по электронной почте.

У меня проблема в том, что он не отправляет файл по электронной почте.Я могу получить электронное письмо, чтобы знать, что mailx настроен правильно.Я просто не могу отправить его по электронной почте в виде вложения.Он также может отправить по электронной почте вывод в теле письма.

Вот код.

родовое слово

Я пробовал использовать mailx:

родовое слово

и

родовое слово

Итак, проблема, которую я получаю, заключается в том, что при запуске файла .sh появляется эта ошибка.

родовое слово
Это было полезно?

Решение

родовое слово

Выбор за вами, но подумайте об использовании формата ISO-8601, YYYY-MM-DD (%Y-%m-%d). Помимо других преимуществ, он отлично разбирается.

родовое слово

При этом не удаляются первые две строки, а просто удаляется вторая строка. Измените код '2d' на код '1,2d' (см. Ниже).

Обратите внимание, что это изменяет файл на месте.

родовое слово

Если для uuencode задано только одно имя файла, он считывается из стандартного ввода и помещает имя в свой вывод. Ваш следующий текст «Я пробовал использовать часть mailx с:» ... означает, что вы, вероятно, знаете об этом, но вы не показали нам код, который устраняет эту проблему, кроме фрагментов.

Сообщение об ошибке, которое вы получаете:

родовое слово

не то, что вы обычно получаете, если файл не существует. Я не знаю, что может вызвать такую ​​"Неизвестную системную ошибку".

Но вот альтернатива, которая (а) немного чище ИМХО, и (б) не требует кода uuencode для попытки чтения файла:

родовое слово

Другие советы

Если проблема в uuencode ... почему бы вам не попробовать опцию mailx -a, которая также может прикреплять файлы к почте. Дополнительную информацию можно найти по этой ссылке .

У меня была такая же проблема.Сценарий bash, выполняющий запрос, сохраняющий файл csv и отправляющий его по почте.В моем случае он дал общий код кода

Когда я выполнил сценарий с использованием оболочки ksh, он работал отлично, без каких-либо проблем.Вот так - uuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error Это просто еще один указатель.Если uuencode выдает ошибку, попробуйте выполнить его с помощью ksh;это может сработать для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top