我无法将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;
提前致谢。
答案 0 :(得分:1)
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输出导致了这个问题。
答案 1 :(得分:0)
尝试使用ODS HTML3
。这会将样式信息直接嵌入到HTML元素中,这样就不会使用CSS来呈现(所有样式信息都在每个HTML标记中重复和明确地声明)。
此ODS目的地非常适合向后兼容。看到Outlook使用的HTML呈现引擎实际上是MS Word引擎,需要很多向后兼容性。
以下是ODS HTML3文档链接:http://support.sas.com/documentation/cdl/en/odsug/61723/HTML/default/viewer.htm#a002596390.ht
但并非所有HTML格式都受到许多电子邮件客户端的支持。这里有一些有用的链接,可以为您提供有关可以做什么和不可以做什么的好背景,以及支持和不支持的内容:
http://24ways.org/2009/rock-solid-html-emails