I created a macro, and try to use the macro to send a .sas7bdat file to an email. And I got the error message of "ERROR: An attachment record was truncated. The attachment LRECL is too small.", even after I specified the LRECL=32767, and file type as filetype=application/octet-stream, extension = sas7bdat. The code is as below.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%macro email2box(emailaddress=, filepath=, filetype=);
filename MailBox email "&emailaddress" attach="&filepath";
data _null_;
file MailBox;
put '!EM_ATTACH!' "&filepath" LRECL=32767;
put '!EM_CONTENTTYPE!' "&filetype" extension = 'sas7bdat';
run;
%mend email2box;
%email2box(emailaddress=abc@u.box.comm,filepath=/box/icon_lab.sas7bdat, filetype=application/octet-stream);
Another option would be to create a transport file using proc Cport. This will require a recipient to use Proc Cimport to bring it into the SAS system but these files are intended for interchange between different systems, are text files and may be less sensitive to things that binary files encounter and may be preferred if sending to different operating systems.
Try this:
filename MailBox email
to="&emailaddress"
attach=("&filepath" content_type="application/x-sas")
;
Thanks everybody for your replies.
I tried
filename MailBox email
to="&emailaddress"
attach=("&filepath" content_type="application/x-sas")
;
But somehow, it still doesn't work for me.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.