在SAS数据集中为每行发送电子邮件
我有一个数据集(work.employees),其中每个字段都是要发送的电子邮件的元素。示例记录:Smith,John,[email protected],[email protected]。对于每条记录,我需要根据那里的信息发送一封单独的电子邮件。我可以发送一封带有宏变量的电子邮件,并用电子邮件发送数据,但迭代不会发生。建议将非常感激。谢谢。在SAS数据集中为每行发送电子邮件
回答:
所以你想通过SAS发送电子邮件通知?这个问题是两个折叠。首先,您需要确保您的SMTP服务器在SAS中正确配置。其次,你必须制作所需的邮件软件。
对于第一位跟随http://support.sas.com/kb/19/767.html
指导现在,你想要什么(显然)是解析/选择电子邮件。我假设你只从数据集中选择它们。
Proc sql; select distinct(emails) into: resplist separated by ' ' from mail_set where emails like '%@%';
/*Here I'm selecting only those that have @ mark in the cells.
You can add parser as you need. (question is a bit oddly worded.*/
quit;
或者,您可以hardCode的地址。 (我建议你尝试第一次与这个让你知道你发送代码工作。
%let respList="[email protected]" "[email protected]"; FILENAME Mailbox EMAIL &respList.
Subject="Email delivery for you";
DATA _NULL_;
FILE Mailbox;
PUT "Good day,";
put ;
PUT "Remain calm. This is a test.";
PUT ;
run;
您还可以添加SAS数据集informatin,但请记住,通过电子邮件发送垃圾邮件的东西通常是坏主意。
回答:
如果要发送每条记录一个电子邮件,这是更好地使用!EM_
指令在datastep。
http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a002058232.htm
filename reports email "[email protected]";
data _null_;
file reports;
length name dept $ 21;
input name dept;
put '!EM_TO! ' name;
put '!EM_SUBJECT! Report for ' dept;
put name ',';
put 'Here is the latest report for ' dept '.' ;
if dept='marketing' then
put '!EM_ATTACH! c:\mktrept.txt';
else /* ATTACH the appropriate report */
put '!EM_ATTACH! c:\devrept.txt';
put '!EM_SEND!';
put '!EM_NEWMSG!';
put '!EM_ABORT!';
datalines;
Susan marketing
Peter marketing
Alma development
Andre development
;
run;
以上是 在SAS数据集中为每行发送电子邮件 的全部内容, 来源链接: utcz.com/qa/261103.html