在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

回到顶部