我正在爲使用通過Vars
提供的數組值的MJML編寫的Mailjet的電子郵件模板生成發件人希望從郵件收件人。數組中的所有值都是純文本值。Mailjet:通過變量提供的數組值使電子郵件在發送時被阻止
傳遞到API請求的數據是這樣的:
{
"FromEmail":"[email protected]",
"FromName":"Chris Crumble",
"Subject":"Data Request",
"MJ-TemplateID":"200000",
"MJ-TemplateLanguage":true,
"Recipients":[
{
"Email":"[email protected]",
"Name":"Hans Henson"
}
],
"Vars":{
"mailTitle":"Data Request",
"userName":"Chris Crumble",
"imageUrl":"http://my.host.com/image.jpg",
"userBirthDate":"1.3.1982",
"recipientName":"Hans Henson",
"uploadUrl":"https://my.upload.com/",
"authVideoUrl":"https://my.authvideo.com",
"records":["Document A","Document B"],
"authPhone":"113777840097"
}
}
模板使用var:records
這樣的:
...
</mj-text>
<mj-raw> {% if var:records:false %} </mj-raw>
<mj-text>
<p>
I, <strong>{{var:userName}}, born on {{var:userBirthDate}}</strong> am asking you to provide the following documents:
</p>
</mj-text>
<mj-raw> {% for item in var:records %} </mj-raw>
<mj-text>
{{item}}
</mj-text>
<mj-raw> {% endfor %} </mj-raw>
<mj-raw> {% else %} </mj-raw>
<mj-text>
<p>
I, <strong>{{var:userName}}, born on {{var:userBirthDate}}</strong>, am asking you to provide all my existing documents.
</p>
</mj-text>
<mj-raw> {% endif %} </mj-raw>
<mj-text>
...
只要var:records
與發送的數據沒有被設置請求,郵件按預期發送。只要請求中提供了一個(非空)數組值,該郵件就會在發送時被Mailjet阻止,而不會提供有關原因的更多信息。
不知道如何得到這個工作。
UPDATE:
由於Zhivko的提示將通過Mailjet提供的錯誤報告機制,我能夠獲得一些更深入地瞭解這個問題。
模板產生以下錯誤:
expression parsing error ## Unknown identifier: var:records:false ## near ## var:records:false ##
這仍然沒有任何意義,我所提到的線是if
條件與情況定義的false
的默認值,沒有對價值var:records
提供了api請求。 此外,該模板僅在Vars
中明確設置值並且爲而不是爲空時纔會產生此錯誤。 我的測試到目前爲止讓我猜測,它可能必須處理提供的值是數組值,因爲如果該值爲明碼字符串,則該行不會引起任何問題。
感謝您的提示。幫助我獲得關於這個問題的更多信息。順便更新了問題。還將打開支持票。 – Oliver