В дополнение к стандартному подходу смешивания альфы, числовой и символы, я заметил, когда я зарегистрировался в MyOpenId на прошлой неделе, средство проверки пароля говорит Вам, если Ваш пароль основан на слове словаря, даже если Вы добавляете числа или заменяете альфы подобными числами (использующий нуль вместо 'o', '1' вместо 'меня', и т.д.).
я был вполне впечатлен.
Вы забыли кавычки:
echo $body | mail $receiver -s "$subj"
Обратите внимание, что вы должны использовать двойные кавычки (иначе переменная не будет расширена).
Теперь вопрос: почему двойные кавычки вокруг $ subj
, а не $ body
или $ получатель
. Ответ заключается в том, что echo
не заботится о количестве аргументов. Итак, если $ body
расширяется до нескольких слов, echo
просто напечатает их все с одним пробелом между ними. Здесь кавычки будут иметь значение только в том случае, если вы хотите сохранить двойные пробелы.
Что касается $ Receiver
, это работает, потому что оно расширяется только до одного слова (без пробелов).doe@none.com > .
вы можете использовать mailx и всегда помещать кавычки вокруг переменных
mailx -s "$subj" my.email@my.domain.com < myfile.txt