Рассылка с использованием SAS EG - PullRequest
0 голосов
/ 04 марта 2020

Доброе время суток! Я написал код, который должен отправить одно письмо одному человеку с указанным приложением. Вот код кода:

%macro send;

%do i=1 %to &numPeople;
%let name = &&name&i;
%let to = &&UserMail&i;


             options emailsys=smtp emailhost=smtp.mail.com emailport=25;
               filename outbox email
               to=('<Bob@mail.com>'                      )

               type='text/html'
               subject="Data for &date_today &to "
               from=  ('< Dataanalist@mail.com >')
               sender=('< Dataanalist@mail.com >')
               importance='high'
             attach=("/folder/statement&i..xlsx" ct='application/excel');



ods html body=outbox style=seaside;
data _null_;
     file outbox;
PUT '<html><body>';
PUT ‘Dear coleagse <br><br>';


      ods html close;

run;

%end;
%mend; %send;

Проблема в том, что теперь этот код отправляет одно письмо только в виде вложения (без текста), второе - тому же человеку, которому нужен текст + вложение. Как избежать первого неверного письма? Большое спасибо.

1 Ответ

1 голос
/ 06 марта 2020

В вашем коде есть два оператора, предписывающие электронному письму «отправить»:

  1. Поскольку вы установили адрес тела ODS как «исходящие», оператор ods html close отправит электронное письмо ,
  2. В конце шага данных (run;) будет отправлено электронное письмо.

Если вы удалите оба оператора ODS (поскольку вы, кажется, не используете ODS для что-нибудь еще), вы должны получить только одно электронное письмо с приложением и текстом.

Здесь есть хорошая статья о глобальном форуме SAS об отправке электронных писем из SAS (PDF): Документ 038-2008 - Отправка E письмо с этапа DATA - Эрик В. Тиланус, консультант, Дриберген, Нидерланды

...