求助:本人有一个数据的email变量含email8000条,有没有可能用SAS编一个程序把所有email都发出去,并让因错误而发不出去的email(比如地址拼写错误)留下记录,以便纠正错误。谢谢!
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××
修改一下:
下面的程序可以发送email. 剩下的问题是如何发送大量的email? 如果email地址不对,不能发送,怎样能把不能发送的email记录下来,以便校对,修改。
filename sendto email "from568@gmail.com" /*send from*/
subject="Case Review Timeliness Detail Report - &sysdate."
to = ("abc@yahoo.com" "xyz@hotmail.com" ) /*send to */
;
data _null_;
file sendto;
put "Dear Sir/Madam:"/;
put "Please find following message:";
Put "This is a test message"/;
put "Regards,"/;
put "Who I am"/;
put "Note:SAS job on &sysdate";
put "This email message was automatically generated by SAS, please contact me once you have received.";
run;
也许可以用proc sql产生一个宏变量(见下),把原数据中的email地址读入宏变量中,然后将上面程序中的to = ("abc@yahoo.com" "xyz@hotmail.com" )改为:to=(&email_address)
假设数据email_dataset的变量email_variable的值为email地址,用下面的程序将所有email地址变为宏变量email_address的值:
proc sql noprint;
select compress(quote(trim(left(email_variable)))) into : email_address separated by ' '
from email_dataset;
quit;
如果上面的方法可行的话,现在只剩下如何把不能发送的email记录下来了。希望有高手能解决此问题。