2016-05-05 13 views
0

Wenn Sie versuchen, eine E-Mail an mehrere Empfänger mit ColdFusion zu senden, wird nur die erste Zeile die E-Mail empfangen und dreimal gesendet, aber nur einmal gesendet. Dies funktioniert aber alle Empfänger sichtbar sind und die cfoutput angezeigt wird so oft sind es die Empfänger:CFMail sendet nur an den ersten Empfänger des Abfrageergebnisses

<cfmail 
to = "#ValueList(getEmail.Schd_Email)#" 
from="[email protected]" 
subject="This is a Test" 
type="HTML" 
query="getEmail" 
failto="[email protected]"> 
The location has been moved to <b><cfoutput>#location#</cfoutput></b><br/> 
</cfmail> 

Dieser sendet nur für die erste Person in der Abfrage aufgeführt und die cfoutput im Körper noch aufgeführt als oft wie es Empfänger gibt.

<cfmail 
to = "#Schd_Email#;" 
from="[email protected]" 
subject="This is a Test" 
type="HTML" 
query="getEmail" 
failto="[email protected]"> 
The location has been moved to <b><cfoutput>#location#</cfoutput></b><br/> 
</cfmail> 

Ich kann die Abfrage auf die Seite ausgeben und alle aufgeführten E-Mails sehen. Nicht sicher, warum letzteres nicht funktioniert. Irgendwelche Ideen?

+0

Sie könnten auch einzeln senden, durch 'cfloop''ing durch die Abfrage und Verschachtelung' cfmail' innerhalb der Schleife. FWIW, es hat gut funktioniert mit CF11. Gibt es noch andere Variablen auf der Seite '# Schd_Email #', abgesehen von der Abfrage-Spalte? Was passiert, wenn Sie die Nummernzeichen entfernen, zB 'from =" Schd_Email "'? – Leigh

+0

Beendet mit dem unten angegebenen bcc, wobei eine E-Mail an einen Administrator oder eine Gruppe gesendet wird, während die bcc-Empfänger die E-Mail erhalten müssen. Das war richtig in den Empfängern, die nicht für einander sichtbar sein müssen. Die Lage wurde # loC# bewegt
kidaiu

+0

Nun, wie Miguel-F erwähnt, sollten Sie nicht brauchen Valuelist(), wenn Sie verwenden bereits das Attribut "query" (und umgekehrt). – Leigh

Antwort

2

Ich denke, Sie sollten ';' Trennzeichen in Wertliste(). Das Standardtrennzeichen für valueList() ist ','. Wenn Sie das Trennzeichen ';' es könnte funktionieren. Versuchen Sie dieses #ValueList (getEmail.Schd_Email, „;“) #

1

Da Sie das query Attribut des cfmail Tag kann die ValueList() Funktion verwenden müssen, nicht verwenden. Das query Attribut behandelt diese Funktionalität für Sie. Es macht auch die Notwendigkeit der Verwendung eines Trennzeichens zwischen jedem der "zu" Adressaten überflüssig. Es sollte so funktionieren, vorausgesetzt, Sie haben gültige E-Mail-Adressen in Ihren Abfrageergebnissen.

<cfmail 
    to="#getEmail.Schd_Email#" 
    from="[email protected]" 
    subject="This is a Test" 
    type="HTML" 
    query="getEmail" 
    failto="[email protected]"> 
    <div>The location has been moved to <b><cfoutput>#location#</cfoutput></b></div> 
</cfmail> 
+0

* müssen nicht die ValueList() * True verwenden. Ich könnte mich irren, aber es klang auch so, als wollten sie nicht, dass "Empfänger" füreinander sichtbar sind. Vielleicht möchten sie stattdessen einen cfloop mit einem verschachtelten cfmail verwenden oder vielleicht "bcc" anstelle von "to" verwenden. – Leigh

+0

Ich benutze nie das Query-Attribut von cfmail, aber ich dachte, es verschickte einzelne E-Mails an jeden Empfänger. Nicht sicher und kann jetzt nicht testen. –

+1

Ich auch nicht, aber Sie haben Recht. Es tut (getestet mit CF11). – Leigh

Verwandte Themen