2012-01-31 1 views
0

Как я могу преобразовать пространство и вкладку в свой адрес электронной почты. см. ниже пример.ASP classic CDO Электронная почта - как скрытое пространство и новая строка в сообщении электронной почты

test1 
test 
zzzyyy  trsthshs asas asas dasdads sadasd 
asdad 1 2 3 5 6 7      8 
:test only.. 

Когда я получил электронное письмо, формат был изменен. номер 7 был рядом с номером 8, интервал был уменьшенная 1

test1 
test 
zzzyyy trsthshs asas asas dasdads sadasd 
asdad 1 2 3 5 6 7 8 
:test only.. 

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

Я использовал этот код.

Set objCDOMail = Server.CreateObject("CDO.Message") 
Set objCDOMail.Configuration = cdoConfig 
objCDOMail.BodyPart.Charset = "UTF-8" 
objCDOMail.HTMLBody = sBodyText 

ответ

0

Пока вы используете формат электронной почты HTML, попробуйте использовать кодировку HTML для сообщения прежде, чем отправить его.

string encodedMessage = System.Web.HttpUtility.HtmlEncode(message); 

это изменит пространства в почте в HTML пространстве специальный символ (& NBSP;)

2

Вы можете отправить сообщение, используя CDO.Message либо открытым текстом, используя свойство .TextBody или HTML с использованием свойство .HtmlBody, как в вашем фрагменте кода выше. Если вы используете открытый текст, так как он должен по умолчанию иметь шрифт с монослоем в обычном почтовом ящике при получении, ваш ручной интервал будет сохранен. Если вам нужно отправить HTML, тогда вам нужно отформатировать текст в соответствии с способом отображения HTML - не имеет значения, что это электронная почта или веб-браузер. Вы должны иметь в виду, что HTML автоматически портит смежные пространства по умолчанию. Поэтому, если вам нужно отформатировать текст, вам нужно применить соответствующие стили к блоку текста в теге DIV, или вы можете использовать тег HTML PRE для обозначения предварительно отформатированного текста.

0

Ваш текст не является HTML, поэтому не присваивайте его HtmlBody. Вместо того, чтобы использовать:

objCDOMail.TextBody = sBodyText 
0

Чтобы заменить белый пробел, табуляция, перевод строки, вы можете сделать следующее ...

 

    space_entity = "&" & "nbsp" & ";" 'I had to break it up like this cause stackoverflow does not take & n b s p ; sequence witohut the spaces in there ;) 
    html_br = "" 'same reason! can't write regular br tag in here.. :( 

 

    sBodyText = replace(sBodyText," ",space_entity) 
    sBodyText = replace(sBodyText,vbtab,space_entity) 
    sBodyText = replace(sBodyText,vbcrlf,html_br & space_entity) 

HTH

Смежные вопросы