Hi All:
We have recently switched to Outlook as our e-mail system. We also uses SAS to send SMTP e-mail messages.
How do I send an e-mail to 2 different people in the "to=" line?
Currently we use a macro variable to store the user address. I think Outlook uses a semi-colon as the separator to put between
the 2 addresses, but this becomes an invalid statement in SAS.
We code -
call symput('emailaddr','name1@company.com;name2@company.com')
to define the variable,
and then use:
FILE OUTBOX | to="&emailaddr" |
but this does not work.
Hi,
I would try a space-delimited list of quoted email addresses, in parentheses i.e.
file outbox to=("mail1@company.com" "mail2@company.com") ;
HTH,
--Q
Just a question, it doesnt look like you are dynamically making the macro variable for the address. If not why not just code directly to the to line? Also the semicolon (in the macro variable) after the macro variable is resolved is probably being read by SAS to end the coding line and thus creating syntax errors. As quentin points out, and if memory serves, spaces should work fine.
Just some thoughts.
EJ
Try This code I hope it works for you I just tested it seems ok to me.
%let to_list="mail1@server.com" "mail2@server.com";
%let path=W:;
filename myemail email to=(&to_list.)
cc="mail3@server.com"
bcc="mail4@server.com"
subject="Sending mail through SAS"
attach=("path.\SAS_Code.sas" "&path.\Copy of SAS_Code.sas")
;
data _null_;
file myemail;
put "Hi,Please find attached the two SAS Files.Thanks,Nishunk";
run;
Thanks,
Nishunk
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.