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.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.