
Я использую mutt для отправки писем. Он отлично работает, когда я использую свою собственную учетную запись: например, echo "foo bar" | mutt[email protected]
Однако, когда я помещаю указанную выше команду в /etc/lightdm/lightdm.conf (я хочу получать почту каждый раз при запуске моего ПК), команда будет выполнена с учетной записью root, но в теле получаемых мной писем нет содержимого (в письме не отображается "foo bar"). Как мне вывести содержимое в mutt, когда я использую учетную запись root?
решение1
Во-первых, вы проверили, mutt
работает ли конфигурация вашего root? Вы получаете некоторые письма, так что, вероятно, все в порядке, но побалуйте меня:
echo "foo bar" | sudo mutt [email protected]
Если все в порядке, то, вероятно, это просто проблема синтаксиса в скрипте. При конвейеризации нужно быть осторожным, чтобы это не было интерпретировано чем-то другим. Самый простой способ сделать это — обернуть команду в другой экземпляр оболочки:
sh -c 'echo "foo bar" | mutt [email protected]'
Это должно гарантировать, что труба останется с mutt
.