Войти

Показать полную графическую версию : [решено] Построчное разделение в письме


LaFleur
19-07-2018, 18:28
Добрый день.
Делаю скрипт который должен содержимое в текстовом файле отправлять письмом.
$list = Get-content "...\text.txt"

...

$msg.IsBodyHTML = $true
$msg.Body = @"
<html>
<body>
$list
</body>
</html>
"@
...

В файле текст разделён построчно. Но письмо приходит без построчного разделения. Хотя если сделать echo $list то всё правильно.
Подскажите пожалуйста что можно придумать?

Kazun
19-07-2018, 18:54
Попробовать:
$list = Get-content "...\text.txt" | Out-String

или

$list = Get-content "...\text.txt" | Foreach {"{0}<br>" -f $_} | Out-String

mwz
19-07-2018, 18:59
Но письмо приходит без построчного разделения »

Есть одно соображение — но надо посмотреть такое письмо в шестнадцатеричном виде...

Если у вас установлен Total Commander — можно встать на текст и нажать F3 для его просмотра, а затем клавишу 3 (т.е. просто тройка) для переключения режима просмотра в шестнадцатеричный вид — и дать кусок скриншота, содержащий три-четыре строки исходного текста (больше не нужно).

Kazun, :)
Подозреваю что редактор вставляет код 0x0A вместо 0x0D + 0x0A.

Iska
19-07-2018, 19:05
LaFleur, тут либо тэгом pre оформлять (или что там нынче по стандарту для сохранения white-space), либо, как показал выше коллега Kazun, переводы строк br вставлять.

Другое дело, на кой шут Вам там html вообще сдался, для простого текстового файла-то?!

greg zakharov
19-07-2018, 19:13
на кой шут Вам там html вообще сдался, для простого текстового файла-то?!Попробую телепатировать: считывемый файл генерируется автоматически некой утилитой в формате недоHTML, а после должен вставляться в шаблон. Нечто по типу Go-приложения.

Iska
19-07-2018, 19:43
Попробую телепатировать: считывемый файл генерируется автоматически некой утилитой в формате недоHTML, а после должен вставляться в шаблон. »
Вот за что я «люблю» вопросы такого характера — что они полностью игнорируют основное требование к эксперименту: воспроизводимость. Ну, что мешало коллеге LaFleur упаковать этот файл в архив и приложить к сообщению?! Приложить пусть не полный, но достаточный код для того, чтобы любой мог бы взять, попробовать и воспроизвести ситуацию. Но нет, нормальные герои всегда идут в обход™.

LaFleur
20-07-2018, 00:15
$list = Get-content "...\text.txt" | Out-String »
Это я конечно же пробовал.
$list = Get-content "...\text.txt" | Foreach {"{0}<br>" -f $_} | Out-String »
Блин, точно. Спасибо большое! Всё дело в <br>. Я забыл про него, посмотрел на другие свои скрипты и там этот тег. Вот же проморгал то его...

Другое дело, на кой шут Вам там html вообще сдался, для простого текстового файла-то?! »
Эх привычка, у меня много скриптов с непростым текстом, а здесь по инерции его влепил.

А так не знал что здесь настолько доброжелательные помощники которым не лень воспроизвести ситуацию))) Полагал что лишний код будет лишним. Виноват, исправлюсь)))

Всем спасибо!

Iska
20-07-2018, 02:02
которым не лень воспроизвести ситуацию))) Полагал что лишний код будет лишним. »
Напротив, при проблемах воспроизведение чужой ситуации у себя — первейшее дело. Особенно в программировании.




© OSzone.net 2001-2012