Цитата:
Сообщение от
Narayana
Вот пара строк кода, с помощью которых формируется часть текста письма: [...]В коде явно присутствуют символы перевода строки \n\n , но в пришедшем на почту письме все сообщение выводится одной строкой.
Цитата:
Сообщение от
Narayana
msg передается в:
mail.quickSend(name, _ecpCustSignUp.UserEmail, "@SYS98191", msg);
из класса SysMailer
Исходный текст я посмотрел, но только в Аутлуке. Он как раз нормальный. То есть, можно было бы сказать, что виноват почтовый клиент.
Почтовые клиенты не виноваты, особенно mail.ru
Они обычно отображают сообщения с форматированием, обычно такие сообщения приходят в формате html, Outlook вот еще rtf поддерживает, а вы, судя по всему, отправляете письмо
plain text'ом. Потом почтовый клиент его преобразует, как умеет, в html-формат (потому что он заточен на отображение писем в таком формате), скармливает его HTML-компоненту или браузеру, там все ваши переводы строки пропадают - и вы получаете то, что получаете.
Не используйте quickSend и обычный текстовый формат сообщений, используйте формат html и форматируйте письма соотв. образом - тогда будут вам и переводы строк, и работающие гиперссылки:
X++:
msg = strfmt(@'<p>%1<br/>Адрес электронной почты (%2) bla-bla-bla.<br/>'
+ @'Чтобы подтвердить, щелкните по ссылке: <a href="%3">%3</a><br/>'
+ @'С наилучшими пожеланиями, <a href="mailto:%4">%4</a></p>',
"@SYS98189", _ecpCustSignUp.UserEmail, confirmationUrl, helpdeskEmail);