SAS, используя CSSSTYLE и функцию электронной почты вместе

Я не могу применить свои стили CSS к электронному письму, которое я отправляю в формате html. Если я сохраню вывод ODS в локальном файле, я смогу применить свои стили CSS.

Может ли кто-нибудь помочь мне с передачей стилей CSS на шаге по электронной почте?

Вот код, который я использовал:

FILENAME SETMAIL EMAIL TO=("tester.first@somedomain.com")
         SUBJECT = "This is a test email with applied CSS HTML styles to email " 
         TYPE="text/html" 
         CONTENT_TYPE='text/html' ;
         ODS HTML BODY=setmail
         CSSSTYLE="D:\\myStyles_EMAIL.css";

TITLE "Be focused !! ";      
PROC PRINT DATA=DODEV.RECENT_HIGH_VOL_ORDERS noobs label;
RUN;
ODS HTML CLOSE;
ODS LISTING;

Заранее спасибо.

2 ответа

proc template; 
    define style styles.MyMail;
    parent= styles.journal; 
    style body /
        fontfamily="Arial, Helvetica, Sans-serif"
        fontsize= 2
        fontweight=medium
        fontwidth=normal
        color=blg
        backgroundcolor=white
        marginleft=8pt
        marginright=8pt;
    style header /
        fontfamily="Arial, Helvetica, Sans-serif"
        fontsize= 4
        fontweight=bold
        fontstyle=roman
        bordercolor=black
        textalign=center
        backgroundcolor=CX00365B
        color=white;
    style Data / 
        fontfamily="Arial, Helvetica, Sans-serif"
        fontweight=medium
        fontsize=2
        fontstyle=roman
        color=black
        backgroundcolor=white;
    style SystemTitle / 
        fontfamily="Arial, Helvetica, Sans-serif"
        fontweight=bold
        fontsize=6
        fontstyle=roman
        textalign=left
        color=white
        backgroundcolor=CX00365B;
    style SystemTitle2 / 
        fontfamily="Arial, Helvetica, Sans-serif"
        fontweight=bold
        fontsize=4
        fontstyle=roman
        textalign=left
        color=white
        backgroundcolor=CX00365B;
    style SystemTitle3 / 
        fontfamily="Arial, Helvetica, Sans-serif"
        fontweight=medium
        fontsize=2
        fontstyle=roman
        textalign=left
        color=black
        backgroundcolor=white;
     end;
run;

%MACRO SEND_EMAIL_NOTIFICATION(); 

%IF &NUM_CONDS > 0 %THEN

     %DO;       
           FILENAME SETMAIL EMAIL TO=( "hhhhhhhh@xyz.com")
                SUBJECT = "Alert: XXXXXXXX" 
                TYPE="text/html" 
           CONTENT_TYPE='text/html';
           ODS html3  BODY=SETMAIL 
           STYLE=MYMAIL;

           TITLE "Some title 1 ";
           TITLE2 As of &RUN_TIME;
           TITLE3 A total of &NUM_XYZz Some titles, since the last report;
           TITLE4 " " ;

           PROC PRINT DATA=DEV.RECENT_DS noobs label;
           RUN;
           ODS HTML3 CLOSE;
           ODS LISTING;
     %END;
%MEND;

%SEND_EMAIL_NOTIFICATION();

Наконец выполнил требование, создав собственный стиль. Вместо того, чтобы использовать CSSSTYLE. Не уверен, как заставить CSSSTYLE работать. Я думаю, что выходы.msg и.html вызывают проблему.

Попробуйте использовать ODS HTML3, Это внедряет информацию о стиле непосредственно в элементы HTML, так что CSS не используется для визуализации (вся информация о стиле указывается неоднократно и явно в каждом теге HTML).

Это назначение ODS отлично подходит для обратной совместимости. И поскольку механизм визуализации HTML, используемый Outlook, на самом деле является механизмом MS Word, требуется большая обратная совместимость.

Вот ссылка на документ ODS HTML3: http://support.sas.com/documentation/cdl/en/odsug/61723/HTML/default/viewer.htm

Не все форматирование HTML поддерживается многими почтовыми клиентами. Вот несколько полезных ссылок, которые помогут вам понять, что можно, а что нельзя, а также что не поддерживается:

http://24ways.org/2009/rock-solid-html-emails

http://www.emailology.org/

http://www.campaignmonitor.com/css/

HTML электронное письмо выровнять текст

Другие вопросы по тегам