【问题标题】:SAS insert text into email bodySAS 将文本插入电子邮件正文
【发布时间】:2015-08-12 04:48:28
【问题描述】:

这是原始代码。

filename outmail email type='text/html'
subject='see this'
from="..."
to="..."
attach=("\...\a.pdf"content_type="application/pdf");

ods _all_ close;
ods listing close;
ods html body=outmail style=minimal; 

title1 'AAA';
title2 'BBB';

proc tabulate data=
...
run;

ods html close;
ods listing;

但现在我不想在电子邮件正文中显示表格输出,所以我从原始代码中删除了这部分。

proc tabulate data=
...
run;

问题是我的电子邮件中不再有标题。看来我必须在代码中添加一些 proc 才能使标题存在于电子邮件中。但我不想在电子邮件正文中显示任何内容,除了

Hi all,

Regards, Balala

更新

我试过了,但没有运气。

filename outmail email type='text'
    subject="AAAA"
    from="..."
    to="..."
    attach=("\\...\text.pdf" content_type="application/pdf");

data _null_;
    file outmail;
    put 'Hi all,';
    put 'First line';
    put 'Second line ';
    put ' ';
    put 'Regards,';
    put 'Balala';
run;

但在电子邮件中,它显示Hi all,First lineSecond line Regards,Balala

更新2

第二个选项对我不起作用。 第一个选项起初不起作用,但是当我重新启动 SAS 会话时,它起作用了。但我没有更改任何设置。

有趣的是,我将类型更改为 text/plain 而不是 texttext/html 然后一切正常

【问题讨论】:

  • 您是在问如何在不使用标题的情况下将文本内容放入电子邮件中?
  • 是的。 put 没有按预期工作。

标签: sas


【解决方案1】:

你有两个选择。

选项 1:HTML 标记

如果您正在使用,请在电子邮件中指定 HTML 标记content_type="text/html"

例子:

filename mailbox email 'me@example.com' subject='test email' content_type="text/html"; 

data _null_;
file mailbox;
put "<body>";
put "<p>Hello,</p>" ;
put "<p>Test email sent <br> Regards,</p>" /
'Automated SAS Code';
put "</body>"; 
RUN;

选项2“反斜杠”指针:

在行尾指定反斜杠以使指针越过该行。当心昆汀在 cmets 中指出的内容,你可能会得到双线。取决于您的 SAS 平台和电子邮件服务器。记录在这里(在文档中搜索“/”):http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000161869.htm

filename mailbox email 'me@example.com' subject='test email'; 

data _null_;
file mailbox;
put "Hello," /;
put "Test email sent. "/; 
put "Regards," /;
put "Automated SAS Code";

RUN;

问候, 瓦西里

【讨论】:

  • 这有记录吗?我发现很难用谷歌搜索这样的答案。
  • @W_ee 我不知道它是否记录在案,但它不适合你吗?这个对我有用。此外,由于您正在创建 HTML 正文,因此您可以在 html 代码中指定新行。
  • @W_ee 是的,记录在案,这是链接,下斜线support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/…它说“将指针推进到新行的第一列
  • @W_ee 很有趣。当我运行您的原始代码时,它会按您的预期工作。当我添加反斜杠时,它会在每行之后添加一个额外的空白行。当您运行原始代码时很好奇,日志是说 6 条记录被写入文件 OUTMAIL 还是 1 条记录被写入?如果它说写入了 6 条记录,则可能是您的邮件客户端如何解释行终止符(CR/LF?)的问题。如果它说只写入了 1 条记录,那么 SAS 方面正在发生一些奇怪的事情。还想知道如果您更改为使用 type="text/html" 或类似的方式发送会发生什么。
  • @W_ee 如果您不想解析任何 & 符号,请使用单引号而不是双引号,或者如果您不想仅解析其中的一部分,请考虑使用 SAS 宏来屏蔽它们,例如%NRSTR
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 2017-12-11
  • 1970-01-01
  • 2018-08-16
  • 2018-05-06
相关资源
最近更新 更多