Поиск…


Вступление

Существует несколько причин, по которым вы можете столкнуться в необходимости использования электронной почты в SAS. Вы можете отправить электронное письмо, чтобы уведомить кого-то о том, что процесс прошел / не удалось, вы можете отправлять электронное письмо, содержащее переменные макроса, которые показывают, сколько записей было загружено в конце вашего фида данных, или, возможно, вам нужно отправить некоторые файлы, которые содержат отчеты. Независимо от ваших потребностей, есть несколько способов отправления электронной почты и файлов в SAS.

параметры

Tag / Атрибут Значение
LRECL Этот параметр используется для определения длины записи при чтении и записи файлов. Я решил много проблем, просто установив это на максимальное значение, которое составляет 32767. Очень возможно, что настройка чего-то подобного в его максимальном значении менее эффективна, но в конце концов он выполняет свою работу без меня любая потеря производительности. (диапазон для LRECL составляет 1-32767)

Отправка основного текстового сообщения с помощью SAS

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'Text/Plain';


Data _null_; File myEmail;
    PUT "Email content";
    PUT "&recordsCount loaded to your favorite table today!";
RUN;

Присоединение файла excel к электронной почте SAS

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'Text/Plain'
    ATTACH = ("my/excel/file/path/file.extension" content_type="application/vnd.ms-excel" LRECL= 32767);


Data _null_; File myEmail;
    PUT "Email contentent";
    PUT "&recordsCount loaded to your favorite table today!";
RUN;

Отправка электронной почты SAS с телом HTML

Обратите внимание на тип электронной почты: Type = 'text / html';

Filename myEmail EMAIL
    Subject = "My Email Subject"
    From    = "[email protected]"
    To      = '[email protected]'
    CC      = '[email protected]'
    Type    = 'text/html';

Data _null_; File myEmail;
PUT "
<html>
    <head>
        <style>
            table, th, td {
                border: 1px solid black;
                   border-collapse: collapse;
            }
        </style>
    </head>
    <body>
        <p>Here is your email</p>
        <p>Go ahead, organize your data within an HTML table tag here!</p>
        <table>
            <tr>
                <th>
                    column 1
                </th>
                <th>
                    column 2
                </th>
            </tr>
            <tr>
                <td>
                    &countOfRecords1
                </td>
                <td>
                    &countOfRecords2
                </td>
            </tr>
        </table>
    </body>
</html>
";
RUN;

Очень возможно, что после создания HTML-письма в SAS вы обнаружите, что HTML-код искажен, когда вы получаете электронное письмо. Это результат того, что SAS помещает перерывы на следующую строку в тексте вашего PUT. Вероятно, перерыв был размещен прямо в середине текста вашего тега. Если это произойдет с вами, попробуйте переместить свои HTML-теги. Это может быть не очень красиво, но вам, возможно, придется использовать некоторые теги, чтобы избежать этого. Это случилось со мной, и именно так я исправил эти проблемы.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow