【问题标题】:SAS using CSSSTYLE and Email functionality togetherSAS 同时使用 CSSSTYLE 和电子邮件功能
【发布时间】:2015-06-10 23:09:03
【问题描述】:

我无法将我的 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;

提前致谢。

【问题讨论】:

  • 刚刚尝试在我的机器上运行您的代码,它按预期工作。我确实将样式更改为与 EG 捆绑在一起的银行家样式(即CSSSTYLE="C:\Program Files\SASHome\SASEnterpriseGuide\5.1\Styles\banker.css")。可能您使用的 .css 文件有问题。

标签: css sas sas-ods


【解决方案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 输出导致了这个问题。

【讨论】:

    【解决方案2】:

    尝试使用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

    http://www.emailology.org

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

    HTML email align text

    【讨论】:

    • 即使我使用 html3,CSSSTYLE 也会被忽略。我担心的是,即使指定了 CSSSTYLE,为什么我会看到正常的电子邮件输出?
    • @NagaVemprala 我还应该补充一点,在我的测试中,ODS HTML3 能够应用比ODS HTML 更多的样式,所以我仍然建议使用它。
    • 感谢您抽出宝贵的时间为我罗伯特。我非常感谢你。但不幸的是,我认为所有花哨的格式化功能,我都无法嵌入到电子邮件中。 .html vs .msg 可能有问题。我也尝试了 banker.css 的代码,但它仍然不是那么花哨。边界本身不会到来。此外,当我们将输出发送到电子邮件时,HTML 和 HTML3 并没有太大区别。
    • 小修正。 HTML3 要好得多。但仍然没有边界:(
    • @NagaVemprala 好的,听起来至少 CSS 正在注册,只是你没有得到你需要的外观。查看电子邮件链接上的标准指南。它显示了 标记等支持的内容。您可能需要修改 .css 文件,使其仅使用 标记支持的属性来获得所需的外观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多