Когда почта отправляется через SMTP, подключающийся сервер идентифицирует себя с помощью команды HELO. См.https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example
Вам необходимо изменить это в настройках конфигурации SMTP-клиента. В частности, для sendmail
есть пример здесь:https://serverfault.com/questions/205271/how-to-specify-outgoing-helo-with-sendmail
Насколько я знаю, тексты для элементов контрольного списка в dialog
предназначены для одного -вкладыша, и, учитывая, что сам Томас Дики не намекал на другое, я предполагаю, что нет способа указать dialog
обрабатывать \n
управляющие последовательности. ни буквальные новые строки, встроенные в эти тексты.
Я могу рассказать вам, как я довольно легко справлялся со случаями, подобными вашему, используя либо (, либо иногда даже оба )из двух удобных вариантов:
Если ваш очень-очень длинный информационный текст все еще помещается в одну строку окна, вы можете просто добавить опцию --item-help
и предоставить дополнительное поле для каждого элемента, которое будет более длинным -строковым текстом. показывать. Это дополнительное поле будет отображаться в нижней части окна, когда соответствующее поле находится в том месте, где находится курсор.
Таким образом, вы должны просто сделать что-то вроде ниже:
LIST_ITEMS=(
"1." "briefer text 1" "off" "A first... very... very... looooong... Informationtext"
"2." "briefer text 2" "off" "A second... very... very... looooong... Informationtext"
)
dialog --item-help --checklist "checklistName" 0 0 0 "${LIST_ITEMS[@]}"
Обратите внимание, однако, что эти дополнительные поля по-прежнему должны быть отдельными строками, и они также автоматически усекаются dialog
, если они не помещаются в окне, как и основной текст элементов.
Для действительно длинных и/или многострочных текстов легко настроить дополнительные диалоговые окна, которые будут обрабатываться программно по запросу, например, приведенное ниже доказательство -концепции -для вашего примера:
#!/bin/bash --
# Note it is conventional practice to use lowercase names for variables,
# whereas uppercase names are left to standards and to shell's own use.
list_items=(
"1." "A... very... very... looooong... Informationtext" "off"
"2." "A... very... very... looooong... Informationtext" "off"
)
until choice=$(dialog --help-button --checklist "checklistName" 0 0 0 "${list_items[@]}" 2>&1 >/dev/tty); do
case $? in
(1) btn=Cancel && break;;
(2) case $choice in
("HELP 1.") dialog --msgbox 'this is a long explanation\nfor option 1.\n' 0 0;;
("HELP 2.") dialog --msgbox 'option 2 takes\neven three\nseparate lines.' 0 0;;
esac
esac
done
printf -- %s\\n "Pressed ${btn:-OK}"
ХТХ