none
Send-mailmessage.Форматирование BodyAsHtml. RRS feed

  • Вопрос

  • Коллеги, доброго дня!

    Устал копать уже форумы, скрипт переделывать не хочу, ведь там наверняка все просто.

    Что имею:

    $login = "of\corp_send"
    $password = "123" | Convertto-SecureString -AsPlainText -Force
    $credentials = New-Object System.Management.Automation.Pscredential -Argumentlist $login,$password
    $enc  = New-Object System.Text.utf8encoding 
    $MyVariable = @"
    <font face='calibri'>
    <br><br><center>Коллеги, добрый день!
    <br><br><center>Напоминаем, что руководство организации приняло решение о роспуске организации!
    "@
    
    send-mailmessage -to users -from user -BodyAsHtml -Subject "Роспуск" -body $MyVariable -smtpserver mx01.local -Credential $credentials -Encoding $enc -Priority high

    Это очень здорово, но размер шрифта и межстрочный интервал, меня не устраивают.

    Если делать так:

    <font face='calibri' size=3>

    То 3 - это шрифт 12, 2 -это 10! А мне нужно -11pt!!!

    Никаких тут 2.8 и прочего у меня не получилось.

    $style = "< style>BODY{font-family: Arial; font-size: 10pt;}"

    Это уже что-то, но не уверен как это применить на мне, так как я уже работаю форматом текста не в поше а в теле Html.

    Мне нужен размер шрифта 11 Calibri и межстрочный интервал уменьшить!

    Спасибо большое! :)

    21 сентября 2017 г. 10:04

Ответы

  • Тогда сохранить, как есть, а потом преобразовать:

    $encFrom = [System.Text.Encoding]::GetEncoding("koi8-r")
    $encTo = [System.Text.Encoding]::GetEncoding("windows-1251")
    
    $bytes = $encTo.GetBytes($MyVariable)
    $bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes)
    $MyVariable = $encTo.GetString($bytes)

    • Помечено в качестве ответа Oleg.A 22 сентября 2017 г. 8:28
    22 сентября 2017 г. 8:22
    Отвечающий
  • Kazun, к сожалению... :(

    p { margin: 0; padding: 0;}

    Не показывает разницы, ни вверх, ни вниз.

    Как выглядит письмо, если из source скопировать код и вставить в $MyVariable?
    • Помечено в качестве ответа Oleg.A 22 сентября 2017 г. 8:28
    22 сентября 2017 г. 6:35
    Отвечающий

Все ответы

  • <style>
    	font {font-size: 11pt}
    	center {line-height: 3}
    </style>
    
    <font face='calibri'>
    <br><br><center>Коллеги, добрый день!
    <br><br><center>Напоминаем, что руководство организации приняло решение о роспуске организации!
    

    21 сентября 2017 г. 10:25
    Отвечающий
  • <br><br><center>Коллеги, добрый день!
    <br><br><center>Напоминаем, что руководство организации приняло решение о роспуске организации!
    

    Увольняться что ли никто не хочет?)))

    Сорри за оффтоп, не удержался :)

    21 сентября 2017 г. 10:26
  • <style>
    	font {font-size: 11pt}
    	center {line-height: 3}
    </style>
    
    <font face='calibri'>
    <br><br><center>Коллеги, добрый день!
    <br><br><center>Напоминаем, что руководство организации приняло решение о роспуске организации!

    Я ничего не понимаю, выглядит все как и ранее в плане интервала, видимо другой параметр?

    Вот как нужно - оригинал оутлука

    Как выдает скрипт:

    21 сентября 2017 г. 10:46
  • Если вместо 3, поставить 5pt ?
    21 сентября 2017 г. 10:51
    Отвечающий
  • Если вместо 3, поставить 5pt ?

    Это идет на увеличение!

    Там вариант с минуосм есть? :)

    21 сентября 2017 г. 10:53
  • Если вместо 3, поставить 5pt ?

    Это идет на увеличение!

    Там вариант с минуосм есть? :)

    Ставьте, тогда меньше значение Xpt.  Если pt не указывать, тогда да будет на увеличение.

    Или посмотреть Message (HTML)  Other Actions > View Source и скопировать шаблон из форматированного письма.

    • Изменено KazunEditor 21 сентября 2017 г. 11:04
    21 сентября 2017 г. 11:00
    Отвечающий
  • Нет, не выходит.

    Он показывает в редакторе письма, что расстояние -1 и в оригинальном -1. С пт или без, в итоге формат сохраняется неизменным, с большим межстрочным интервалом.

    В сурсе письма вот:

    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
    /* Font Definitions */
    @font-face
    	{font-family:"Cambria Math";
    	panose-1:2 4 5 3 5 4 6 3 2 4;}
    @font-face
    	{font-family:"Calibri Light";
    	panose-1:2 15 3 2 2 2 4 3 2 4;}
    @font-face
    	{font-family:Calibri;
    	panose-1:2 15 5 2 2 2 4 3 2 4;}
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    	{margin:0in;
    	margin-bottom:.0001pt;
    	font-size:11.0pt;
    	font-family:"Calibri",sans-serif;}
    a:link, span.MsoHyperlink
    	{
    	color:#0563C1;
    	text-decoration:underline;}
    a:visited, span.MsoHyperlinkFollowed
    	{
    	color:#954F72;
    	text-decoration:underline;}
    span.EmailStyle17
    	{
    	font-family:"Calibri",sans-serif;
    	color:windowtext;}
    span.EmailStyle18
    	{
    	font-family:"Calibri",sans-serif;
    	color:#1F497D;}
    span.EmailStyle19
    	{
    	font-family:"Calibri",sans-serif;
    	color:#1F497D;}
    .MsoChpDefault
    	{
    	font-size:10.0pt;}
    @page WordSection1
    	{size:8.5in 11.0in;
    	margin:56.7pt 42.5pt 56.7pt 85.05pt;}
    div.WordSection1
    	{page:WordSection1;}
    --></style><!--[if gte mso 9]><xml>
    <o:shapedefaults v:ext="edit" spidmax="1026" />
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1" />
    </o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div align=center style='text-align:center'><span style='color:#1F497D'>лПММЕЗЙ, ДПВТЩК ДЕОШ!<o:p></o:p></span></p><p align=center style='text-align:center'><span style='color:#1F497D'>оБРПНЙОБЕН, ЮФП ТХЛПЧПДУФЧП </span><span style='font-family:"Calibri Light",sans-serif;color:#1F497D'>ПТЗБОЙЪБГЙЙ</span><span style='color:#1F497D'> РТЙОСМП ТЕЫЕОЙЕ П ТПУРХУЛЕ ПТЗБОЙЪБГЙЙ!<o:p></o:p></span></p></div></body></html>

    21 сентября 2017 г. 12:02
  • А так,какой результат?

    <style>
    font {font-size: 11pt}
    center {line-height: 0pt}
    br {line-height: 0pt}
    </style>
    
    <font face='calibri'>
    <br><br><center>Коллеги, добрый день!
    <br><br><center>Напоминаем, что руководство организации приняло решение о роспуске организации!

    21 сентября 2017 г. 12:21
    Отвечающий
  • Увы.... :(

    Прбовал навсякий и так и сяк:

    <style> font {font-size: 11pt} center {line-height: 5pt} br {line-height: 5pt} </style>

    Не реагирует на значения ни вверх, ни вниз (0-5pt)

    21 сентября 2017 г. 12:37
  • Получилось сделать вручную так, но как запихнуть это в код?:


    • Изменено Oleg.A 21 сентября 2017 г. 12:47
    21 сентября 2017 г. 12:43
  • А если убрать br?

    <style>
    font {font-size: 11pt}
    center {line-height: 15pt}
    </style>
    
    <font face='calibri'>
    <center> Коллеги, добрый день!
    <center>Напоминаем, что руководство организации приняло решение о роспуске организации!


    • Изменено KazunEditor 21 сентября 2017 г. 12:52
    21 сентября 2017 г. 12:52
    Отвечающий
  • Нет, тут дело видимо не в размерах.

    Например если выделить выдаваемый текст (не правильный интервал) и нажать на:

    Remove space after paragraph

    Получается именно то, что нужно!

    Надо $paragraph.Trim()  =)

    • Помечено в качестве ответа KazunEditor 21 сентября 2017 г. 14:39
    • Снята пометка об ответе Oleg.A 21 сентября 2017 г. 14:45
    21 сентября 2017 г. 13:42
  • Помечено в качестве ответа Kazun

    А как его туда добавить? :)

    Я же просто для примера!


    • Изменено Oleg.A 21 сентября 2017 г. 14:46
    21 сентября 2017 г. 14:46
  • А если с тэгом p?

    <style>
    font {font-size: 11pt}
    center {line-height: 11pt}
    p { margin: 0; padding: 0;}
    </style>
    
    <font face='calibri'>
    <p><center> оллеги, добрый день!</p>
    <p><center>Ќапоминаем, что руководство организации прин¤ло решение о роспуске организации!</p>


    • Изменено KazunEditor 21 сентября 2017 г. 14:53
    21 сентября 2017 г. 14:52
    Отвечающий
  • Kazun, к сожалению... :(

    p { margin: 0; padding: 0;}

    Не показывает разницы, ни вверх, ни вниз.

    22 сентября 2017 г. 6:22
  • Kazun, к сожалению... :(

    p { margin: 0; padding: 0;}

    Не показывает разницы, ни вверх, ни вниз.

    Как выглядит письмо, если из source скопировать код и вставить в $MyVariable?
    • Помечено в качестве ответа Oleg.A 22 сентября 2017 г. 8:28
    22 сентября 2017 г. 6:35
    Отвечающий
  • Правильно приходит, только с кракозябрами! 
    22 сентября 2017 г. 8:01
  • Правильно приходит, только с кракозябрами! 

    В этом месте текст заменен?

    <span style='color:#1F497D'>оБРПНЙОБЕН, ЮФП ТХЛПЧПДУФЧП </span><span style='font-family:"Calibri Light",sans-serif;color:#1F497D'>ПТЗБОЙЪБГЙЙ</span><span style='color:#1F497D'> РТЙОСМП ТЕЫЕОЙЕ П ТПУРХУЛЕ ПТЗБОЙЪБГЙЙ!<o:p>


    22 сентября 2017 г. 8:03
    Отвечающий
  • У меня оригинал теста больше. Я не понимаю где и куда какие блоки вставлять!

    Может есть что-то типа "-Encoding UTF8"?!

    22 сентября 2017 г. 8:15
  • Тогда сохранить, как есть, а потом преобразовать:

    $encFrom = [System.Text.Encoding]::GetEncoding("koi8-r")
    $encTo = [System.Text.Encoding]::GetEncoding("windows-1251")
    
    $bytes = $encTo.GetBytes($MyVariable)
    $bytes = [System.Text.Encoding]::Convert($encFrom, $encTo, $bytes)
    $MyVariable = $encTo.GetString($bytes)

    • Помечено в качестве ответа Oleg.A 22 сентября 2017 г. 8:28
    22 сентября 2017 г. 8:22
    Отвечающий
  • Вот это да!

    Супер, зря я начинал сомневаться в поиске решения :)

    Большое спасибо, что столько возились со мной Kazun! :)


    • Изменено Oleg.A 22 сентября 2017 г. 8:28
    22 сентября 2017 г. 8:28