Итак, я конвертирую устаревшее приложение в ColdBox MVC и пытаюсь преобразовать теги в скрипт. Раньше я бы просто сделал
<cfmail
query="getRecipients"
type="text/html"
from="Me <[email protected]>"
to="#getRecipients.email#"
subject="Hello everybody from me">
<p>Hey #getRecipients.name#, how are you?</p>
</cfmail>
и я был сделан. Письма были бы отправлены тому, кто был возвращен из запроса getRecipients. Но теперь, кажется, я должен
var oMail = mailService
.newMail(
to="[email protected]",
from="[email protected]",
subject="Hello everybody from me",
bodyTokens={ name=name}
);
oMail.setBody("
Hey @name@, how are you?
");
var results = mailService.send( oMail );
}
Что само по себе кажется слишком многословным, но, по крайней мере, это работает при отправке одному получателю или в список, разделенный запятыми. Но что бы я ни делал, я не могу заставить его отправить запрошенный список получателей.
Я попытался to=getRecipients и получил ошибку, что значение "to" не является строкой. Пробовал to="getRecipients" и пока не получил ошибку, почта не отправлялась (или даже не стояла в очереди на отправку). Различные другие попытки также либо завершились ошибкой, либо завершились безуспешно.
Я прочитал ТАК обсуждается здесь, что, похоже, указывает на то, что использование запроса в рассылках на основе скриптов на самом деле невозможно. Но это обсуждение было в 2012 году — ведь это уже не так, верно? Конечно, можно воспроизвести эту фундаментальную особенность в сценарии, верно? Что мне не хватает? Я провел много исследований по этому вопросу, и каждый найденный мной пример отправляет только на один жестко закодированный адрес.
Буду признателен за любые советы или предложения по этому поводу. Большое спасибо за вашу помощь!