前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用SAS发送邮件

如何用SAS发送邮件

作者头像
专业余码农
修改2020-07-16 09:53:15
1.5K0
修改2020-07-16 09:53:15
举报
文章被收录于专栏:老Z的博客老Z的博客
Email
Email

SAS程序猿/媛在工作中可能会碰到需要用SAS来发送邮件通知的问题,如将一个宏程序执行信息或者某个程序生成的结果发送给指定用户。如上图,就是一个宏执行完毕后发送的一个邮件通知,内容包括宏程序是否正确执行完毕、生成结果的路径以及结果的一个简单的概括。下面记录下我用到的两种SAS发送邮件方法:

  1. FILENAME + EMAIL,这个语句可以实现有FORMAT的内容在邮件正文中。比如上图中定义的颜色。程序如下:
代码语言:javascript
复制
data uni(drop=rc: i);
    if _n_=1 then do;
        if 0 then set sashelp.class;
        dcl hash h1(dataset: 'sashelp.class', multidata:'y');
        h1.definekey('WEIGHT');
        h1.definedata(all: 'yes');
        h1.definedone();

        dcl hash h2(dataset: 'sashelp.class');
        dcl hiter hi('h2');
        h2.definekey('WEIGHT');
        h2.definedone();
    end;
    rc1=hi.first();
    do while(rc1=0);
        rc2= h1.find();
        i=0;
        do while(rc2=0 and i < 2);
            i+1;
            rc2=h1.find_next();
        end;
        if i < 2 then do;
            output;
            if i < 2 then h1.remove();
        end;
        rc1=hi.next();
    end;
    h1.output(dataset: 'dup');
run;
  1. 上面是不需要设置邮件信息的,设置的程序如下:
代码语言:javascript
复制
options emailsys='smtp' emailauthprotocol='login' emailhost='smtp.163.com' emailid='uemailid@163.com' emailpw='XXXXXXXX';

filename sende email to='huazizeng@gmail.com' subject='Demo';

data _null_;
    file sende;
    put 'Hello world!';
run;
  1. MAILX,程序如下:
代码语言:javascript
复制
/*正文*/
x 'cat test.txt | mailx -m -s "subject" huazizeng@gmail.com';
/*附件*/
x 'uuencode test.txt attach.txt | mailx -m -s "subject" huazizeng@gmail.com';
/*正文 + 附件*/
x '(cat test.txt; uuencode test.txt attach.txt) | mailx -m -s "subject" huazizeng@gmail.com';

需要注意的是,第二种方法中的文本如果有格式(比如有对齐的格式),那么在邮件正文中的格式可能会不正确,对于这种情况建议用第一种方法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档