Когда я пытаюсь отправить электронное письмо с одной строкой символов HTML, SAS вставляет символ пробела в середину строки, отбрасывая HTML. Например, если я запускаю следующий код:
FILENAME outbox EMAIL
TO = "address@domain.com"
SUBJECT = "test"
CONTENT_TYPE="text/html";
DATA _NULL_;
FILE outbox;
PUT "<table><tr><th>column1</th><th>column2</th><th>column3</th></tr><tr><td>filler</td><td>filler</td><td>filler</td></tr><tr><td>filler</td><td>filler</td><td>filler</td></tr><tr><td>filler</td><td>filler</td><td>filler</td></tr><tr><td>filler</td><td>filler</td><td>filler</td></tr></table>";
RUN;
Я получаю следующее электронное письмо, где таблица сбрасывается, потому что SAS добавляет пробел между <
и /td>
.
![enter image description here](https://i.stack.imgur.com/r2gwq.png)
Я знаю, что мог бы просто разделить строку или сохранить ее в отдельных строках набора данных и отправить электронное письмо таким образом, но теперь мне любопытно. Кто-нибудь знает, почему SAS делает это?
UPDATE:
Если я отформатирую строку по-другому, примерно так:
DATA _NULL_;
FILE outbox;
PUT "<table>
<tr>
<th>column1</th>
<th>column2</th>
<th>column3</th>
</tr>
<tr>
<td>filler</td>
<td>filler</td>
<td>filler</td>
</tr>
<tr>
<td>filler</td>
<td>filler</td>
<td>filler</td>
</tr>
<tr>
<td>filler</td>
<td>filler</td>
<td>filler</td>
</tr>
<tr>
<td>filler</td>
<td>filler</td>
<td>filler</td>
</tr>
</table>";
RUN;
Пробел перемещается в ячейку (2,1) между 'f' и 'i' слова 'filler'. Я предполагаю, что это из-за всех лишних пробелов, которые я добавил к самой строке, чтобы отформатировать ее таким образом. По-видимому, для добавления пробела каждые 256 символов, независимо от форматирования.