rajesh4you
New Member
hi friends,
I need to send an email using progress code without attachement. Please help me.
I need to send an email using progress code without attachement. Please help me.
I got the code
UNIX SILENT echo "body" | mailx -s "subject" "emailid@domain.com".
But I am having a problem with the below code.
UNIX SILENT echo "body" | uuencode file1 file1 | | mailx -s "subject is here" "emailid@domain.com".
UNIX SILENT VALUE (
"uuencode file1 |mailx -s 'subject is here' [EMAIL="emailid@domain.com"]emailid@domain.com[/EMAIL]").
RUN unixemail.p("./TemporarySendEmailScript.sh":U,
cEmailSubject,
cEmailList,
cEmailText,
cEmailFullName).
RUN UnixEmail.p("./TemporarySendEmailScript.sh":U,
"Email From Unix,
"someone@mycompany.com,someoneelse@mycompany.com",
"Hello" + chr(10) + "This is an automatic email" + chr(10) + "generated by " + chr(10) + chr(10),
"/mypath/myreportfile.txt," + "/mypath/anotherreportfile.txt").
/*------------------------------------------------------------------
File : unixemail.p
Purpose : Send Unix Email with Attachments and Text
Syntax : RUN unixemail("./TemporarySendEmailScript.sh":U,
cEmailSubject,
cEmailList,
cEmailText,
cEmailFullName).
RUN unixemail("./TemporarySendEmailScript.sh":U,
"Email From Unix,
"someone@mycompany.com,someoneelse@mycompany.com",
"Hello" + chr(10) + "This is an automatic email" + chr(10) + "generated by " + chr(10) + chr(10),
"/mypath/myreportfile.txt," +
"/mypath/anotherreportfile.txt").
Parameters : pi_cEmailScript - temporary script name
This is a throw-away script and is deleted
so should be a long and unusual name
pi_cSubject - The email subject, no quotes, please
pi_cRecipient - A comma-delimited list of valid email
addresses, not validated
pi_cText - The body text of the email, break this
down into lines using \n. This can have
all kinds of Unix goodness if you want.
pi_cFileList - A comma-delimited list of filenames to
be sent as attachments. These can be relative
filenames as the program will pull the full
path. It also tags these on to the end of
the email body as Attachment: filename.
If this is blank then no attachments are sent.
If the individual files do not exist then
that entry in the list is not sent as an
attachment.
Description : This is a program to send Email from Unix.
It will attach files in a comma-delimited list and can
give the email some text explaining what the files are for.
Author(s) : Simon Phipp
Created : July 2008
Notes : This generates and executes a script to send an email on Unix
using mailx.
The email body can contain valid Unix code inside `` marks
in order to put in information from Unix, but be careful as
incorrect Unix shell scripting can break the mail script.
--------------------------------------------------------------*/
DEFINE INPUT PARAMETER pi_cEmailScript AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pi_cSubject AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pi_cRecipient AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pi_cText AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pi_cFileList AS CHARACTER NO-UNDO.
FUNCTION lastentry RETURNS CHARACTER
( pi_clist AS CHARACTER , pi_cdelim AS CHARACTER) FORWARD.
IF OPSYS = "unix" THEN RUN ipSendEmail.
PROCEDURE ipFileInfo :
DEFINE INPUT PARAMETER pi_cFileName AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER po_cLongName AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER po_cShortName AS CHARACTER NO-UNDO.
ASSIGN FILE-INFO:FILE-NAME = pi_cFileName
po_cLongName = FILE-INFO:FULL-PATHNAME
po_cShortName = lastentry (po_cLongName,(IF OPSYS = "unix":U THEN "/":U ELSE CHR(92))).
END PROCEDURE.
PROCEDURE ipSendEmail :
DEFINE VARIABLE iemailloop AS INTEGER NO-UNDO.
DEFINE VARIABLE cEmailEntry AS CHARACTER NO-UNDO.
DEFINE VARIABLE cEmailFile AS CHARACTER NO-UNDO.
DEFINE VARIABLE cEmailCommand AS CHARACTER NO-UNDO.
DEFINE VARIABLE cAttachList AS CHARACTER NO-UNDO.
DEFINE VARIABLE cUuencodeList AS CHARACTER NO-UNDO.
ASSIGN pi_cEmailScript = REPLACE (pi_cEmailScript," ":U,"":U)
cemailcommand =
"mailx -r [EMAIL="fromme@mycompany.com"]fromme@mycompany.com[/EMAIL] -s ""<sub>"" <list> <<EOF":U.
DO iemailloop = 1 TO NUM-ENTRIES(pi_cFilelist):
ASSIGN cemailentry = ENTRY (iemailloop,pi_cfilelist).
IF SEARCH (cemailentry) = ? THEN NEXT.
RUN ipFileInfo (INPUT cemailentry,
OUTPUT cemailentry,
OUTPUT cemailfile).
ASSIGN cAttachlist = cAttachlist +
(IF cAttachList = "":U THEN "":U ELSE CHR(10)) +
"Attachment: ":U + cemailfile
cUuencodeList = cuuencodelist +
(IF cUuencodeList = "":U THEN "":U ELSE CHR(10)) +
"`cat ":U + cemailentry +
" | uuencode ":U + cemailfile + " `":U.
END.
OUTPUT TO VALUE (pi_cEmailScript).
ASSIGN cemailcommand =
REPLACE(REPLACE (cemailcommand,"<sub>":U,pi_csubject),
"<list>":U,pi_crecipient).
PUT UNFORMATTED
cemailcommand
SKIP
pi_ctext SKIP
cAttachlist SKIP
cUuencodelist SKIP
"EOF":U SKIP(1).
OUTPUT CLOSE.
ASSIGN FILE-INFO:FILE-NAME = pi_cemailscript
pi_cemailscript = FILE-INFO:FULL-PATHNAME.
OS-COMMAND SILENT VALUE("chmod 777 ":U + pi_cemailscript).
OS-COMMAND SILENT VALUE(pi_cemailscript).
OS-DELETE VALUE (pi_cemailscript).
END PROCEDURE.
FUNCTION lastentry RETURNS CHARACTER
( pi_clist AS CHARACTER , pi_cdelim AS CHARACTER) :
IF pi_clist = "" THEN
RETURN "".
ELSE
RETURN ENTRY (NUM-ENTRIES (pi_clist,pi_cdelim),pi_clist,pi_cdelim).
END FUNCTION.
def var mailopt as char.
/* Normal Email */
mailopt = "-s 'This is the Email Subject Line' email@something.com,another@something.com".
output thru value("sed 's/$/~015/' | uuencode systeminputfilename.csv outgoingattachmentfilename.csv | mailx " + mailopt).
output close.