SASからGmailの送信

Share Button

AWS上で走っているSASの解析の経過をtwitter、Gmail、slackのどこに送るか毎回迷うんだけど、前回twitterのリプやDMで報告させたところ他のコミュニケーションが埋まってしまったので今回はGmailで。

%MACRO sendMail(mess);
	options emailhost=
	 (
	   "smtp.gmail.com" 
	   port=587 STARTTLS 
	   auth=plain 
	   id="YOUR_ACCOUNT@gmail.com"
	   pw={SAS002}**************
	 )
	;
	filename myemail EMAIL
	  to="YOUR_ACCOUNT+sas@gmail.com"
	  subject="&mess";
	data _null_;
	  file myemail;
	  put "Send from SAS sendMail";
	run;
	filename myemail clear;
%MEND;

Googleアカウントからアプリパスワードを設定して、それを
PROC PWENCODE IN=”YOUR_PASSWORD_LETTERS_HERE”; RUN;
で暗号化すれば{SAS002}***あたりの文字列が返ってくるので、それをそのままpwに設定。
SASコードにそのまま平文でGmailのアプリパスワードを記載するなんて普通にありえないので、こうやって暗号化してから書くわけであります。

あとは
%sendMail(mess = “Your_Message_Here”)
で送れる。マクロでDO i = 1 %TO 50的なループをかけているのであれば、ループ末尾に
%LET message = Now %i / 50 steps;
%sendMain(mess = &message)
とか入れておけば、ループが1周するごとに3/50みたいな形で進捗がメールで送られてくるようになる。
あとは宛先を単なるGmailではなく+sasあたりでエイリアスにしておくことで、該当するメールだけ集めて簡単に処理できるというメリットがある。たとえばあとでまとめてさくっと消せたりとかね。


style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-3546003055292762"
data-ad-slot="5749192034">



Share Button

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.