2017-10-12 7 views
0

私は各フィールドが送信される電子メールの要素であるデータセット(work.employees)を持っています。レコードの例:Smith、John、[email protected][email protected]。レコードごとに、その情報に基づいて個別の電子メールを送信する必要があります。私はマクロ変数で1つの電子メールを送信することができ、データnullの電子メールで悩まされましたが、反復は起こっていません。提案は非常に高く評価されます。ありがとう。SASデータセットの各行に電子メールを送信

+0

STへの歓迎こんにちは、 ack overflow。質問をして質問を更新する方法の詳細については、 の[ask]リンクを参照してください。 –

答えて

0

あなたはsasから電子メール通知を送信しますか?問題は2つ折りです。まず、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; 

また、アドレスをハードコードすることもできます。 (私はあなたがまた、SASデータセットのinformatinを追加することができます

%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; 

。そう、あなたの送信コードが動作する知っているあなたはこれを第一にしてみてください示唆ますが、電子メールによるスパムのものは、通常は悪い考えであることに注意してください。

0

場合あなたはそれがあなたのdatastepで!EM_ディレクティブを使用することをお勧めします、レコードごとに1通の電子メールを送信したい。

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; 
関連する問題