首页 > 解决方案 > 如何使用 SAS 对齐电子邮件正文内容

问题描述

一个包含 100 多条记录的表,只想通过电子邮件发送它们,但某些列在电子邮件中的位置错误。以下是我尝试的 4 个示例。

data claims;
 input unid $1-4 name $6-34 dt : date9.; 
 format dt date9.;
cards;
0001 Thalibu Boaths LLC            01jan2020
0002 Express                       18sep1998
m003 North American Stamping Group 27nov2001 
t03  S & S                         03may1990    
;
run;
ods listing close; 
filename sendmail email  
from="abc@abc.com"
  to=("abc@abc.com" )
subject="test"  ;
data _null_; set claims;
 file sendmail;
 put unid 1-4 name 6-34 dt  #1; 
run;
ods html close;
filename sendmail clear;

结果显示在下面,并且列 dt 定位错误:

0001 Thalibu Boaths LLC    01JAN2020
0002 Express           18SEP1998
m003 North American Stamping Group27NOV2001
t03 S & S           03MAY1990

我希望电子邮件正文显示与表格相同。

标签: emailsasalignment

解决方案


所以,至少当我运行你的代码时,它确实有效;您从第dt35 列开始得到变量。与输入中的不完全相同,它从第 36 位开始,但想法相同。

但是,假设您不是在Pine中阅读此内容,那么您很有可能以成比例的字体阅读它。不幸的是,没有好的方法可以让 SAS 中的纯文本电子邮件以特定字体呈现 - 您想要做的是用 HTML 构建它。

您最好只使用PROC REPORTor PROC PRINT,或者甚至PROC TABULATE在这里;否则您可以更直接地编写 HTML。

有关如何发送 HTML 电子邮件或其他几个类似选项的详细信息,请参阅本文。


推荐阅读