Преобразование 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

Другие вопросы по тегам