Отправка электронной почты с помощью сценариев оболочки Unix

В дополнение к стандартному подходу смешивания альфы, числовой и символы, я заметил, когда я зарегистрировался в MyOpenId на прошлой неделе, средство проверки пароля говорит Вам, если Ваш пароль основан на слове словаря, даже если Вы добавляете числа или заменяете альфы подобными числами (использующий нуль вместо 'o', '1' вместо 'меня', и т.д.).

я был вполне впечатлен.

8
задан kk. 11 April 2012 в 11:49
поделиться

2 ответа

Вы забыли кавычки:

echo $body | mail $receiver -s "$subj"

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

Теперь вопрос: почему двойные кавычки вокруг $ subj , а не $ body или $ получатель . Ответ заключается в том, что echo не заботится о количестве аргументов. Итак, если $ body расширяется до нескольких слов, echo просто напечатает их все с одним пробелом между ними. Здесь кавычки будут иметь значение только в том случае, если вы хотите сохранить двойные пробелы.

Что касается $ Receiver , это работает, потому что оно расширяется только до одного слова (без пробелов).doe@none.com > .

18
ответ дан 5 December 2019 в 07:35
поделиться

вы можете использовать mailx и всегда помещать кавычки вокруг переменных

mailx -s "$subj" my.email@my.domain.com < myfile.txt
1
ответ дан 5 December 2019 в 07:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: