SFF (Send From File) Utility - VMS

This is a discussion on SFF (Send From File) Utility - VMS ; Is there anyway to change the default behavior of the TCPIP v5.6 SFF utility. The change I'm looking for is to have it use a "smart host" for forwarding emails. The default behavior is that if you have an email ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: SFF (Send From File) Utility

  1. SFF (Send From File) Utility

    Is there anyway to change the default behavior of the TCPIP v5.6 SFF
    utility. The change I'm looking for is to have it use a "smart host" for
    forwarding emails. The default behavior is that if you have an email going
    to multiple domains, SFF generates an email for each domain. What I'd like
    to have it do is generate a single email with all the headers so that the
    "smart host" can split the message to multiple domains. For example:

    RCPT TO:<> (Outlook Express wouldn't allow
    single brackets)
    RCPT TO:<>

    generates two emails, one to each domain. What I'd like it to do is send a
    single email and allow the smart host (in this case, an Exchange server with
    message journaling running) do the split into multiple messages. Splitting
    into multiple messages causes additional work and storage requirements on
    the Exchange Server.

    Thanks,
    Mike Ober.



  2. Re: SFF (Send From File) Utility

    On Oct 31, 10:51*pm, "Michael D. Ober"
    wrote:
    > Is there anyway to change the default behavior of the TCPIP v5.6 SFF
    > utility. *The change I'm looking for is to have it use a "smart host" for
    > forwarding emails. *The default behavior is that if you have an email going
    > to multiple domains, SFF generates an email for each domain. *What I'd like
    > to have it do is generate a single email with all the headers so that the
    > "smart host" can split the message to multiple domains. *For example:
    >
    > RCPT TO:<> * * * * * *(Outlook Express wouldn't allow
    > single brackets)
    > RCPT TO:<>
    >
    > generates two emails, one to each domain. *What I'd like it to do is send a
    > single email and allow the smart host (in this case, an Exchange server with
    > message journaling running) do the split into multiple messages. *Splitting
    > into multiple messages causes additional work and storage requirements on
    > the Exchange Server.
    >
    > Thanks,
    > Mike Ober.


    Mike, I would recomment using MIME.EXE instead. That way, you can
    control the email yourself.

    This is an extract of our Email script, which allows HTML formatted,
    mixed-content, etc. Hopefully you should be able to decipher it, but
    let me know if not.

    Rob.



    $ OPEN /WRITE SCRIPTFILE SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP
    $ WRITE SCRIPTFILE "$ RUN SYS$SYSTEM:MIME.EXE"
    $ WRITE SCRIPTFILE "OPEN SYS$TEMP:UAM_MIMEHEADER_''PRCPID'.TMP /
    DRAFT"
    $ !
    $PROCESS_LOOP:
    $ IF F$TYPE(FILEELEM_'COUNT') .EQS. "" THEN GOTO
    END_PROCESS_LOOP
    $ !
    $ FILETEMP = FILEELEM_'COUNT'
    $ SH SYM FILETEMP
    $ !
    $ FILETYPE = F$PARSE("''FILETEMP'",,,"TYPE") - "."
    $ FILENAME = F$PARSE("''FILETEMP'",,,"NAME")
    $ !
    $ FILEMODE = "UNKNOWN"
    $ !
    $ MIMESTRING = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,0)
    $ MIMETYPE = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,1)
    $ MIMETRANS = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,2)
    $ MIMEACCELIO = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,3)
    $ !
    $ FILEMODE = "''MIMETYPE'"
    $ !
    $ IF FILEMODE .EQS. "UNKNOWN" .OR FILEMODE .EQS. ""
    $ THEN
    $ STRING = "%UAM-E-UNKTYP, Unknown file type '" +
    FILETYPE + "' - must be a valid WEBREPORT$MIMETYPE_xxx type"
    $ ERRORMOD UTL_AUTOMAIL REQUEST "''STRING'"
    $ GOTO END
    $ ENDIF
    $ !
    $ DUMMY = F$SEA("",28)
    $ !
    $ IF F$SEA("''FILETEMP'",28) .EQS. ""
    $ THEN
    $ WS "%UAM-E-PFNF, Cannot find file ''FILETEMP'"
    $ ERRORMOD UTL_AUTOMAIL MAIL "%UAM-E-PFNF, Cannot find
    file ''FILETEMP'" "" "''ERRLIST'"
    $ GOTO END
    $ ENDIF
    $ !
    $ IF FILEMODE .EQS. "BINARY"
    $ THEN
    $ WRITE SCRIPTFILE "ADD ''FILETEMP' /BINARY"
    $ ELSE
    $ WRITE SCRIPTFILE "ADD ''FILETEMP' /TEXT /
    ENCODING=QUOTED"
    $ ENDIF
    $ !
    $ COUNT = COUNT + 1
    $ !
    $ GOTO PROCESS_LOOP
    $ !
    $END_PROCESS_LOOP:
    $ WRITE SCRIPTFILE "SAVE"
    $ WRITE SCRIPTFILE "EXIT"
    $ CLOSE SCRIPTFILE
    $ !
    $ CREATE SYS$TEMP:UAM_MIMEHEADER1_'PRCPID'.TMP
    Mime-version: 1.0
    Content-Type: text/html; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit
    Message-ID:
    Content-Disposition: inline







    height="100">












    TBS Logo, The Book<br />
Service src="http://www.thebookservice.co.uk/automail_logos/tbslogo.gif"
    border="0">


    width="33%" bgColor="#c6e1cc">

    GBS Logo,<br />
Grantham Boo src="http://www.thebookservice.co.uk/automail_logos/gbslogo.gif"
    border="0">



     Transworld<br />
Logo src="http://www.thebookservice.co.uk/automail_logos/twlogo.gif"
    border="0">





    THIS EMAIL WAS SENT BY AN AUTOMATED SYSTEM

    - PLEASE DO NOT REPLY TO THIS MESSAGE -








    $ CREATE SYS$TEMP:UAM_MIMEHEADER3_'PRCPID'.TMP

    Please find your report or data
    files attached.



    We hope that this report
    reaches you in perfect condition. Should there be a
    problem, please contact the I.T. Helpdesk on
    helpdesk@xxx.com font>
    or via telephone on +900 stating the nature of the problem. p>

    If you no longer require this
    report, please let us know
    .



    Please remember that most
    Random House Distribution reports are now
    available in an electronic format. This means that your reports are
    delivered quicker. Having access to the
    data also means that you can manipulate the data yourself, to obtain
    the
    information that you require.



    If you are interested in this,
    please contact the I.T. Helpdesk for more
    information.





    Random House
    I.T. Department




    color="#000000">Random House offers a 3rd
    party distribution
    service from 3 independent distribution sites; The Book Service
    based
    in North Essex, Grantham Book Services located in Lincolnshire and
    Transworld situated in Northamptonshire.





    $ !
    $ IF BODYTEXT .NES. ""
    $ THEN
    $ ! Create file for bodytext, so that it appears
    in the middle of the body.
    $ !
    $ IF F$SEA(BODYTEXT,28) .NES. ""
    $ THEN
    $ ! Append the file if it exists
    $ !
    $ OPEN /WRITE HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ !
    $ APPEND /LOG 'BODYTEXT' SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ !
    $ OPEN /APPEND HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ ELSE
    $ ! Create a file with the text in
    $ !
    $ OPEN /WRITE HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "''BODYTEXT'"
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ ENDIF
    $ ENDIF
    $ !
    $ COPY /LOG SYS$TEMP:UAM_MIMEHEADER%_'PRCPID'.TMP; SYS
    $TEMP:UAM_MIMEHEADER_'PRCPID'.TMP
    $ !
    $ @SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP
    $ !
    $ SET DEF SYS$TEMP: ! Don't run MAIL in
    [LIVE.DAT] as it can leave duff files sometimes
    $ !
    $ DEFINE TCPIP$SMTP_FROM "repxxx@xxx.com (Random House IT
    Dept.)"
    $ MAIL /NOSIG SYS$TEMP:UAM_MIMEHEADER_'PRCPID'.TMP
    "''EXPANDED_ADDRESS'" /SUBJECT="''SUBJECT'"
    $ DEASS TCPIP$SMTP_FROM
    $ !
    $ IF F$SEA("SYS$TEMP:UAM_MIMESCRIPT_''PRCPID'.TMP;*",28) .NES.
    "" THEN DELETE /LOG SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP;*
    $ IF F$SEA("SYS$TEMP:UAM_MIMEHEADER_''PRCPID'.TMP;*",28) .NES.
    "" THEN DELETE /LOG SYS$TEMP:UAM_MIMEHEADER_'PRCPID'.TMP;*
    $ !

  3. Re: SFF (Send From File) Utility

    Rob,

    I have already modified the sendmail script from openvms.org to generate a
    "single" message per call, regardless of the number of recipients. What I
    need now is a way to get the message from VMS to Exchange as a single
    message so that our Exchange servers can journal the message properly. SFF
    appears to send a message per recipient domain even though we're using the
    alternate gateway in the SMTP configuration.

    Mike.

    "Rob" wrote in message
    news:c113a21b-0b36-4197-befe-27eff49d041d@o40g2000prn.googlegroups.com...
    On Oct 31, 10:51 pm, "Michael D. Ober"
    wrote:
    > Is there anyway to change the default behavior of the TCPIP v5.6 SFF
    > utility. The change I'm looking for is to have it use a "smart host" for
    > forwarding emails. The default behavior is that if you have an email going
    > to multiple domains, SFF generates an email for each domain. What I'd like
    > to have it do is generate a single email with all the headers so that the
    > "smart host" can split the message to multiple domains. For example:
    >
    > RCPT TO:<> (Outlook Express wouldn't allow
    > single brackets)
    > RCPT TO:<>
    >
    > generates two emails, one to each domain. What I'd like it to do is send a
    > single email and allow the smart host (in this case, an Exchange server
    > with
    > message journaling running) do the split into multiple messages. Splitting
    > into multiple messages causes additional work and storage requirements on
    > the Exchange Server.
    >
    > Thanks,
    > Mike Ober.


    Mike, I would recomment using MIME.EXE instead. That way, you can
    control the email yourself.

    This is an extract of our Email script, which allows HTML formatted,
    mixed-content, etc. Hopefully you should be able to decipher it, but
    let me know if not.

    Rob.



    $ OPEN /WRITE SCRIPTFILE SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP
    $ WRITE SCRIPTFILE "$ RUN SYS$SYSTEM:MIME.EXE"
    $ WRITE SCRIPTFILE "OPEN SYS$TEMP:UAM_MIMEHEADER_''PRCPID'.TMP /
    DRAFT"
    $ !
    $PROCESS_LOOP:
    $ IF F$TYPE(FILEELEM_'COUNT') .EQS. "" THEN GOTO
    END_PROCESS_LOOP
    $ !
    $ FILETEMP = FILEELEM_'COUNT'
    $ SH SYM FILETEMP
    $ !
    $ FILETYPE = F$PARSE("''FILETEMP'",,,"TYPE") - "."
    $ FILENAME = F$PARSE("''FILETEMP'",,,"NAME")
    $ !
    $ FILEMODE = "UNKNOWN"
    $ !
    $ MIMESTRING = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,0)
    $ MIMETYPE = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,1)
    $ MIMETRANS = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,2)
    $ MIMEACCELIO = F$TRNLNM("WEBREPORT$MIMETYPE_''FILETYPE'",,3)
    $ !
    $ FILEMODE = "''MIMETYPE'"
    $ !
    $ IF FILEMODE .EQS. "UNKNOWN" .OR FILEMODE .EQS. ""
    $ THEN
    $ STRING = "%UAM-E-UNKTYP, Unknown file type '" +
    FILETYPE + "' - must be a valid WEBREPORT$MIMETYPE_xxx type"
    $ ERRORMOD UTL_AUTOMAIL REQUEST "''STRING'"
    $ GOTO END
    $ ENDIF
    $ !
    $ DUMMY = F$SEA("",28)
    $ !
    $ IF F$SEA("''FILETEMP'",28) .EQS. ""
    $ THEN
    $ WS "%UAM-E-PFNF, Cannot find file ''FILETEMP'"
    $ ERRORMOD UTL_AUTOMAIL MAIL "%UAM-E-PFNF, Cannot find
    file ''FILETEMP'" "" "''ERRLIST'"
    $ GOTO END
    $ ENDIF
    $ !
    $ IF FILEMODE .EQS. "BINARY"
    $ THEN
    $ WRITE SCRIPTFILE "ADD ''FILETEMP' /BINARY"
    $ ELSE
    $ WRITE SCRIPTFILE "ADD ''FILETEMP' /TEXT /
    ENCODING=QUOTED"
    $ ENDIF
    $ !
    $ COUNT = COUNT + 1
    $ !
    $ GOTO PROCESS_LOOP
    $ !
    $END_PROCESS_LOOP:
    $ WRITE SCRIPTFILE "SAVE"
    $ WRITE SCRIPTFILE "EXIT"
    $ CLOSE SCRIPTFILE
    $ !
    $ CREATE SYS$TEMP:UAM_MIMEHEADER1_'PRCPID'.TMP
    Mime-version: 1.0
    Content-Type: text/html; charset=ISO-8859-1
    Content-Transfer-Encoding: 7bit
    Message-ID:
    Content-Disposition: inline







    height="100">












    TBS Logo, The Book<br />
Service src="http://www.thebookservice.co.uk/automail_logos/tbslogo.gif"
    border="0">


    width="33%" bgColor="#c6e1cc">

    GBS Logo,<br />
Grantham Boo src="http://www.thebookservice.co.uk/automail_logos/gbslogo.gif"
    border="0">



     Transworld<br />
Logo src="http://www.thebookservice.co.uk/automail_logos/twlogo.gif"
    border="0">





    THIS EMAIL WAS SENT BY AN AUTOMATED SYSTEM

    - PLEASE DO NOT REPLY TO THIS MESSAGE -








    $ CREATE SYS$TEMP:UAM_MIMEHEADER3_'PRCPID'.TMP

    Please find your report or data
    files attached.



    We hope that this report
    reaches you in perfect condition. Should there be a
    problem, please contact the I.T. Helpdesk on
    helpdesk@xxx.com font>
    or via telephone on +900 stating the nature of the problem. p>

    If you no longer require this
    report, please let us know
    .



    Please remember that most
    Random House Distribution reports are now
    available in an electronic format. This means that your reports are
    delivered quicker. Having access to the
    data also means that you can manipulate the data yourself, to obtain
    the
    information that you require.



    If you are interested in this,
    please contact the I.T. Helpdesk for more
    information.





    Random House
    I.T. Department




    color="#000000">Random House offers a 3rd
    party distribution
    service from 3 independent distribution sites; The Book Service
    based
    in North Essex, Grantham Book Services located in Lincolnshire and
    Transworld situated in Northamptonshire.





    $ !
    $ IF BODYTEXT .NES. ""
    $ THEN
    $ ! Create file for bodytext, so that it appears
    in the middle of the body.
    $ !
    $ IF F$SEA(BODYTEXT,28) .NES. ""
    $ THEN
    $ ! Append the file if it exists
    $ !
    $ OPEN /WRITE HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ !
    $ APPEND /LOG 'BODYTEXT' SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ !
    $ OPEN /APPEND HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ ELSE
    $ ! Create a file with the text in
    $ !
    $ OPEN /WRITE HEADERFILE SYS
    $TEMP:UAM_MIMEHEADER2_'PRCPID'.TMP
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "''BODYTEXT'"
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ WRITE HEADERFILE "
    "
    $ CLOSE HEADERFILE
    $ ENDIF
    $ ENDIF
    $ !
    $ COPY /LOG SYS$TEMP:UAM_MIMEHEADER%_'PRCPID'.TMP; SYS
    $TEMP:UAM_MIMEHEADER_'PRCPID'.TMP
    $ !
    $ @SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP
    $ !
    $ SET DEF SYS$TEMP: ! Don't run MAIL in
    [LIVE.DAT] as it can leave duff files sometimes
    $ !
    $ DEFINE TCPIP$SMTP_FROM "repxxx@xxx.com (Random House IT
    Dept.)"
    $ MAIL /NOSIG SYS$TEMP:UAM_MIMEHEADER_'PRCPID'.TMP
    "''EXPANDED_ADDRESS'" /SUBJECT="''SUBJECT'"
    $ DEASS TCPIP$SMTP_FROM
    $ !
    $ IF F$SEA("SYS$TEMP:UAM_MIMESCRIPT_''PRCPID'.TMP;*",28) .NES.
    "" THEN DELETE /LOG SYS$TEMP:UAM_MIMESCRIPT_'PRCPID'.TMP;*
    $ IF F$SEA("SYS$TEMP:UAM_MIMEHEADER_''PRCPID'.TMP;*",28) .NES.
    "" THEN DELETE /LOG SYS$TEMP:UAM_MIMEHEADER_'PRCPID'.TMP;*
    $ !





  4. Re: SFF (Send From File) Utility

    Michael D. Ober wrote:
    > appears to send a message per recipient domain even though we're using the
    > alternate gateway in the SMTP configuration.



    If you stop the SMTP queues, and then run your message against SFF, does
    it generate multiple jobs into the queue or just one job ?

  5. Re: SFF (Send From File) Utility

    "JF Mezei" wrote in message
    news:0005d3ef$0$2562$c3e8da3@news.astraweb.com...
    > Michael D. Ober wrote:
    >> appears to send a message per recipient domain even though we're using
    >> the
    >> alternate gateway in the SMTP configuration.

    >
    >
    > If you stop the SMTP queues, and then run your message against SFF, does
    > it generate multiple jobs into the queue or just one job ?
    >



    IF,

    Good catch. Only a single message was queued. Apparently the split is
    occurring in either our Exchange server or in the SMTP handler in VMS.

    Mike.