Преобразование CFMAIL в эквивалент скрипта и использование запроса
Поэтому я конвертирую устаревшее приложение в ColdBox MVC и пытаюсь преобразовать теги в скрипт. В прошлом я бы просто сделал
<cfmail
query="getRecipients"
type="text/html"
from="Me <me@me.org>"
to="#getRecipients.email#"
subject="Hello everybody from me">
<p>Hey #getRecipients.name#, how are you?</p>
</cfmail>
и я был сделан. Письма были бы отправлены тому, кто вернулся из запроса getRecipients. Но теперь кажется, что я должен
var oMail = mailService
.newMail(
to="test1@test.com",
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
oMail.setBody("
Hey @name@, how are you?
");
var results = mailService.send( oMail );
}
Что само по себе кажется чрезмерно многословным, но, по крайней мере, оно работает при отправке одному получателю или списку через запятую. Но что бы я ни делал, я не могу заставить его отправить запросили список получателей.
Я попытался = getRecipients и получил ошибку, что значение "to" не является строкой. Я попытался ="getRecipients", и хотя я не получил ошибку, почта не была отправлена (или даже поставлена в очередь для отправки). Различные другие попытки также либо ошибались, либо молча проваливались.
Я прочитал SO-обсуждение здесь, которое, кажется, указывает на то, что использование запроса в почтовых сообщениях на основе сценариев не может быть сделано. Но это обсуждение было в 2012 году - конечно, это уже не так, верно? Конечно, можно повторить эту очень фундаментальную функцию в сценарии, верно? Что мне не хватает? Я провел много исследований по этому вопросу, и каждый найденный мной пример посылает только один адрес с жестким кодом.
Буду признателен за любые советы или предложения по этому вопросу. Большое спасибо за вашу помощь!
1 ответ
Я верю, что это будет:
var oMail = mailService
.newMail(
to=valueList(getRecipients.email),
from="me@me.org",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
Смотрите: https://cfdocs.org/valuelist