Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

CFMAIL sending email twice!

Posted on 2003-11-28
13
Medium Priority
?
363 Views
Last Modified: 2013-12-24
Hi,

I created an online library where people can check out books etc. I have a section where the library owner can send emails to the people whose books are overdue. However, whenever that process is run, two emails are sent to each person. I have no clue what could cause this.

I have a cfquery that grabs the information for the people who are overdue. Then I call the query within my cfmail. Here's the code:

<cfquery name="qryOverdue" datasource="library">
SELECT Loans.LoanIndex, Loans.Title, Loans.Name, Loans.Email, Loans.Date_Out, Loans.Date_Due
FROM Loans
WHERE ((Now()>[Loans]![Date_Due]))
</cfquery>

<cfmail
to="#qryOverdue.Email#"
from="library_mailbox@company.com"
subject="overdue learning library item"
query="qryOverdue"
server="company_exchange_server.com"
port="25"
type="html">
<cfmailparam name="X-Priority" value="1">
Greetings,<p>
The item you checked out on #DateFormat(qryOverdue.Date_Out, 'mm/dd/yyyy')#,
"#qryOverdue.Title#", was due back #DateFormat(qryOverdue.Date_Due, 'mm/dd/yyyy')#.<p>
Please return this item to the Learning Library ASAP.<p>
Thank you!
</cfmail>
0
Comment
Question by:makila
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 2
13 Comments
 
LVL 12

Expert Comment

by:jyokum
ID: 9840435
<cfquery name="qryOverdue" datasource="library">
SELECT Loans.LoanIndex, Loans.Title, Loans.Name, Loans.Email, Loans.Date_Out, Loans.Date_Due
FROM Loans
WHERE ((Now()>[Loans]![Date_Due]))
</cfquery>

<cfoutput query="qryOverdue">
    sending mail to #qryOverdue.Email#<br> <!--- this is just for debugging --->
    <cfmail
        to="#qryOverdue.Email#"
        from="library_mailbox@company.com"
        subject="overdue learning library item"
        server="company_exchange_server.com"
        port="25"
        type="html">
        <cfmailparam name="X-Priority" value="1">
Greetings,<p>
The item you checked out on #DateFormat(qryOverdue.Date_Out, 'mm/dd/yyyy')#,
"#qryOverdue.Title#", was due back #DateFormat(qryOverdue.Date_Due, 'mm/dd/yyyy')#.<p>
Please return this item to the Learning Library ASAP.<p>
Thank you!
    </cfmail>
</cfoutput>
0
 

Author Comment

by:makila
ID: 9840458
I should also add this tidbit. I replaced #qryOverdue.Email# with my own email and still received two emails for each overdue item.
0
 
LVL 12

Expert Comment

by:jyokum
ID: 9840675
are you sure your query is only returning 1 record? try dumping the recordset to see what's being returned

<cfdump var="#qryOverdue#">
0
Plesk WordPress Toolkit

Plesk's WordPress Toolkit allows server administrators, resellers and customers to manage their WordPress instances, enabling a variety of development workflows for WordPress admins of all skill levels, from beginners to pros.

See why 2/3 of Plesk servers use it.

 

Author Comment

by:makila
ID: 9840906
I will try that when I get back to work on Monday :)
0
 
LVL 17

Expert Comment

by:Tacobell777
ID: 9841497
You probably need to group your query in the mail tag, look at the cfmail attribute GROUP
0
 

Author Comment

by:makila
ID: 9851963
The query is returning 10 unique records now (books have been returned!) and sending 20 emails. I upgraded to Coldfusion MX 6.1 in hopes that maybe it was a server bug but no such luck. I checked the mailsent.log and it shows 20 emails being sent.

I Googled to see if anyone else has had the same problems and I found a couple others but they never found resolutions.
0
 

Author Comment

by:makila
ID: 9852100
Previous message is referring to the results I got from dumping the recordset, btw. I also tried grouping the query in the mail tag by "LoanIndex" but I still got 20 emails. Ack.
0
 
LVL 17

Expert Comment

by:Tacobell777
ID: 9852589
is the mail tag wrapped in another custom tag? If so, does this tag end with \> ?
0
 

Author Comment

by:makila
ID: 9852702
I kind of have it figured out now. Somehow, the way I linked to the page with cfmail made it run twice.

This simple link works and it only emails once:

Click <a href="library_overdue_II.cfm">here</a> to send an email reminder to all overdue loanees.

This link pops up a small window and after the cfmail sends, the windows says "Reminders have been sent." This sends the emails twice:

Click <a href="library_overdue_II.cfm" target="send_reminders" onClick="window.open('library_overdue_II.cfm','send_reminders','width=500,height=325,top=150,left=200,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=1')" class="no_under">here</a> to send an email reminder to all overdue loanees.
0
 
LVL 12

Accepted Solution

by:
jyokum earned 400 total points
ID: 9855838
change it to

Click <a href="#" target="send_reminders" onClick="window.open('library_overdue_II.cfm','send_reminders','width=500,height=325,top=150,left=200,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=1')" class="no_under">here</a> to send an email reminder to all overdue loanees.
0

Featured Post

Supports up to 4K resolution!

The VS192 2-Port 4K DisplayPort Splitter is perfect for anyone who needs to send one source of DisplayPort high definition video to two or four DisplayPort displays. The VS192 can split and also expand DisplayPort audio/video signal on two or four DisplayPort monitors.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A web service (http://en.wikipedia.org/wiki/Web_service) is a software related technology that facilitates machine-to-machine interaction over a network. This article helps beginners in creating and consuming a web service using the ColdFusion Ma…
Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question