2014-06-06 21 views
0
DEFINE VARIABLE wlc-Identifiant AS CHARACTER NO-UNDO. 
DEFINE VARIABLE wlc-file-txt AS CHARACTER NO-UNDO. 

wlc-Identifiant = STRING(YEAR(TODAY), "9999") + STRING(MONTH(TODAY), "99") + STRING(DAY(TODAY), "99") + REPLACE(STRING(TIME, "HH:MM:SS"), ":", ""). 
wlc-file-txt = wlc-Identifiant + "foo.txt". 

DEFINE STREAM outStr. 
OUTPUT STREAM outStr TO VALUE (wlc-file-txt). 

FOR EACH customer NO-LOCK: 
    EXPORT STREAM outStr customer. 
END. 
OUTPUT STREAM outStr CLOSE. 

RUN sendmail.p (INPUT wlc-file-txt). /* add the file in parameter */ 

/*OS-DELETE foo.txt.*/ /* It 's a cron job */ 

Sendmail.p 
DEFINE INPUT PARAMETER wlpic-file-txt AS CHARACTER NO-UNDO. 
DEFINE STREAM stMail. 
OUTPUT STREAM stMail THROUGH 
    "mail_files -f [email protected] -t [email protected] -s\"subject\" -b~\" + wlpic-file-txt + "\"). 
PUT STREAM stMail "Email body". 
OUTPUT STREAM stMail CLOSE. 
+0

最好的方法是問問zarose是誰在他的問題中寫的:[多個OS-COMMAND來自程序衝突的調用](http://stackoverflow.com/q/24042718/3351765):) – doydoy44

+0

如果我必須呈現一個猜測:-f =地址,-t =地址,-s =電子郵件的主題行,-b =電子郵件的正文 – pmartin

回答

0

在這種情況下,mail_files似乎是外部UNIX命令。可能是一個腳本。

使用mailx可能會得到非常類似的功能,幾乎每個UNIX系統都可以使用它。

如果-f應該是「從」在mail_files腳本然後-f可能成爲-r

同樣,如果-t被認爲是「對」,它只是被淘汰,mailx的假設一個樸實的說法是「至」地址。 Mailx將使用標準輸入的任何文本作爲主體。因此,而不是-b,您只需寫入流(您看到的'PUT STREAM stMail「電子郵件正文」。「命令)。您可以使用-a附加帶有mailx的文件。

+0

tom,可以告訴我什麼-f,-t,-b, - s是指? – user3715001

+0

您需要查找並閱讀腳本。它不是UNIX的標準部分。 doydoy44似乎已經找到了一個看起來像你之後的東西的鏈接。 –

0

不,我認爲這是Thunderbird的命令行。
今天早上我發現this