|
It might just be a bug in the api. I had the exact same problem a few months ago. We email quotes to customers, and one day one customer received a quote intended for someone else. We have a history file that tells us when an email msg was sent and in this case both messages were sent within a few seconds of each other. I put in place the dtaara lock I described, but we are under new management so it is hard to test anything around here. So who knows! -Steve -----Original Message----- From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of rob@xxxxxxxxx Sent: Wednesday, July 07, 2004 2:50 PM To: Midrange Systems Technical Discussion Subject: RE: SNDEMAIL - Volume testing Steve, I thought of that. Evidently Dave increments his mime file in the ifs. You'll notice in the journal entries file names like: /TMP/EMHDR066.TXT I am under the impression that covers it. I also thought that maybe there were two of these files with the same name. Which would easily be possible if two programs, running at the same time, did the RTVDTAARA prior to the CHGDTAARA. However, further journal analysis never shows any duplicates. PS: If Dave Leland is following this thread, the LTS01d comment is a modification we did after we actually found a job that did not have QGPL in it's library list. Seemed funny to 'hardcode' the library in only 'most' spots. Below is the code used to determine the file name: /*********************************************************************/ /* Build name of MIME header file to be created */ /*********************************************************************/ /* Retrieve next sequence number */ CHKOBJ OBJ(&DTAARALIB/NXTMIME#) OBJTYPE(*DTAARA) MONMSG MSGID(CPF9801) EXEC(CRTDTAARA + DTAARA(&DTAARALIB/NXTMIME#) TYPE(*CHAR) + LEN(3) VALUE('000')) RTVMIME#: RTVDTAARA DTAARA(&DTAARALIB/NXTMIME#) RTNVAR(&SEQNO) CHGVAR VAR(&SEQNO#) VALUE(&SEQNO) IF COND(&SEQNO# *EQ 999) THEN(DO) CHGVAR VAR(&SEQNO#) VALUE(001) ENDDO ELSE CMD(DO) CHGVAR VAR(&SEQNO#) VALUE(&SEQNO# + 1) ENDDO CHGVAR VAR(&SEQNO) VALUE(&SEQNO#) /*LTS01d CHGDTAARA DTAARA(NXTMIME#) VALUE(&SEQNO) */ CHGDTAARA DTAARA(&DTAARALIB/NXTMIME#) VALUE(&SEQNO) /*LTS01a*/ /* Build name of MIME file to use */ CHGVAR VAR(&FILENAME) VALUE(&DIRECTORY *TCAT + '/EMHDR' *TCAT &SEQNO *TCAT '.TXT') /* If file already exists, try again */ CHGVAR VAR(&PATH) VALUE(&FILENAME *TCAT &NULL) CALLPRC PRC('stat') PARM(&PATH &BUF) + RTNVAL(%BIN(&RTNVALINT 1 4)) CHGVAR VAR(&RTNVAL) VALUE(%BIN(&RTNVALINT)) IF COND(&RTNVAL *EQ '00') THEN(GOTO + CMDLBL(RTVMIME#)) Rob Berendt -- Group Dekko Services, LLC Dept 01.073 PO Box 2000 Dock 108 6928N 400E Kendallville, IN 46755 http://www.dekko.com "Steve Richter" <srichter@xxxxxxxxxxxxx> Sent by: midrange-l-bounces@xxxxxxxxxxxx 07/07/2004 11:49 AM Please respond to Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx> To "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx> cc Subject RE: SNDEMAIL - Volume testing Rob, the QtmmSendMail forces the programmer to play some games with the file that contains the MIME formatted email message. The api deletes the IFS file after it has been sent. And since the send is actually done by who knows what job on the system, that delete will not happen until some time after the api returns to the caller. So if you want to use the api in the following way: - create an ifs file - write your MIME stream to the file - call QtmmSendMail with the ifs file name as a parm - loop back to step 1 and send the next message you have to pause at step 4 until QtmmSendMail gets around to deleting the IFS file. Most programmers dont deal with this at all. One of my attempts at it had to do with cycling thru a set of temporary IFS files that would be filled and passed to the API. Whichever way it is done, there is going to be a timing issue where the file passed to the API might become refilled with the next email message before the QtmmSendMail api gets around to sending the first message. One way to solve this problem is to simply delay a number of seconds after calling the api. Or before calling the api, read a dtaara containing the time of the last send. If the duration since the last send is less than, say, 5 seconds, delay for that amount of time. -Steve -----Original Message----- From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of rob@xxxxxxxxx Sent: Wednesday, July 07, 2004 12:02 PM To: midrange-l@xxxxxxxxxxxx Subject: SNDEMAIL - Volume testing Is anyone using Dave Leland's SNDEMAIL in a high volume environment? I have some emails that seem to be exchanging properties. The following is what I put in my incident to Lotus (after changing the email domain prior to posting it here): We use the QtmmSendMail API to send mail from our iSeries to our Notes users. Sometimes strange things happen. For example, Traci sent an email to Melinda and it arrived in Renee's mailbox. The email, as it appears in Renee's mailbox has the following: Traci Lxxxx <TRACIL@xxxxxxxxxx> Sent by: TRACIL@xxxxxxxxxx To: MCANNADY@xxxxxxxxxx Document Properties, Fields tab, Field SMTPOriginator shows "RENEER@xxxxxxxxxx" I followed the directions at: http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm Networking, TCP/IP applications, E-mail, Troubleshoot 9....+....0....+....1....+....2....+ 126EH SNDMAIL TO MSF 126E1 O TRACIL@xxxxxxxxxx 126E2 R KIMG@xxxxxxxxxx 126EX /TMP/EMHDR065.TXT 126ET MSG SIZE 766 126 126P2 R SMTP MsgFwd KIMG@xxxxxxxxxx 126C6 FWD TO QTMSOUTQ 126C1 O TRACIL@xxxxxxxxxx 126C2 R <KIMG@xxxxxxxxxx> 1268B QTMSOUTQ TO CLNT 127EH SNDMAIL TO MSF 127E1 O TRACIL@xxxxxxxxxx 127E2 R MCANNADY@xxxxxxxxxx 127EX /TMP/EMHDR066.TXT 127ET MSG SIZE 770 127 126000010000100000 127P2 R SMTP MsgFwd MCANNADY@xxxxxxxxxx 128EH SNDMAIL TO MSF 128E1 O TRACIL@xxxxxxxxxx 128E2 R MCANNADY@xxxxxxxxxx 128EX /TMP/EMHDR067.TXT 128ET MSG SIZE 712 128 128P2 R SMTP MsgFwd MCANNADY@xxxxxxxxxx 127C6 FWD TO QTMSOUTQ 127C1 O TRACIL@xxxxxxxxxx 127C2 R <MCANNADY@xxxxxxxxxx> 1278B QTMSOUTQ TO CLNT 127000010000100000 128C6 FWD TO QTMSOUTQ 128C1 O TRACIL@xxxxxxxxxx 128C2 R <MCANNADY@xxxxxxxxxx> 1288B QTMSOUTQ TO CLNT 129EH SNDMAIL TO MSF 129E1 O TRACIL@xxxxxxxxxx 129E2 R MCANNADY@xxxxxxxxxx 129EX /TMP/EMHDR068.TXT 129ET MSG SIZE 840 129 129P2 R SMTP MsgFwd MCANNADY@xxxxxxxxxx 128000010000100000 130EH SNDMAIL TO MSF 130E1 O RENEER@xxxxxxxxxx 130E2 R RENEER@xxxxxxxxxx 130EX /TMP/EMHDR069.TXT 130ET MSG SIZE 827 130 130P2 R SMTP MsgFwd RENEER@xxxxxxxxxx 129C6 FWD TO QTMSOUTQ 129C1 O TRACIL@xxxxxxxxxx 129C2 R <MCANNADY@xxxxxxxxxx> 1298B QTMSOUTQ TO CLNT 1308B QTMSOUTQ TO CLNT 130C6 FWD TO QTMSOUTQ 130C1 O RENEER@xxxxxxxxxx 130C2 R <RENEER@xxxxxxxxxx> 129000010000100000 131EH SNDMAIL TO MSF 131E1 O TRACIL@xxxxxxxxxx 131E2 R MCANNADY@xxxxxxxxxx 131EX /TMP/EMHDR070.TXT 131ET MSG SIZE 694 131 132EH SNDMAIL TO MSF 132E1 O RENEER@xxxxxxxxxx 131P2 R SMTP MsgFwd MCANNADY@xxxxxxxxxx 132E2 R RENEER@xxxxxxxxxx 132EX /TMP/EMHDR071.TXT 132ET MSG SIZE 825 132 132P2 R SMTP MsgFwd RENEER@xxxxxxxxxx 12688 DLVED 10.10.1.141 12682 R <KIMG@xxxxxxxxxx> 130000010000100000 12788 DLVED 10.10.1.141 12782 R <MCANNADY@xxxxxxxxxx> 12888 DLVED 10.10.1.141 12882 R <MCANNADY@xxxxxxxxxx> 1318B QTMSOUTQ TO CLNT 131C6 FWD TO QTMSOUTQ 131C1 O TRACIL@xxxxxxxxxx 131C2 R <MCANNADY@xxxxxxxxxx> 133EH SNDMAIL TO MSF 133E1 O RENEER@xxxxxxxxxx 133E2 R RENEER@xxxxxxxxxx 133EX /TMP/EMHDR072.TXT 133ET MSG SIZE 827 133 ... Rob Berendt -- Group Dekko Services, LLC Dept 01.073 PO Box 2000 Dock 108 6928N 400E Kendallville, IN 46755 http://www.dekko.com -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l. -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l. -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.