ユーザーに送信したいさまざまな種類の HTML メールがありますが、各メールは同じレイアウト (emailLayout.gsp) を使用しています。このメール (gsp) を文字列にレンダリングして、メール メソッドで送信する必要があります。
このコードを使用するとこれは機能しますが、grails フィルターまたはサービスでメールを送信する必要があるため、groovyPageRenderer.render() メソッドを使用する必要があります (上記の 2 つのアウトコメントされた例は機能しません)。
//def emailContent = groovyPageRenderer.render(view: '/email/emailConfirmation', model: [userInstance: userInstance])
//def emailContent = g.render(view: "/email/emailConfirmation", model: [userInstance: userInstance])
def emailContent = g.include(view: "email/emailConfirmation.gsp", model: [userInstance: userInstance])
groovyPageRenderer を使用してもレイアウト html は含まれず、emailConfirmation.gsp コンテンツのみがレンダリングされます。私のemailLayout.gspのヘッダーとフッターがありません。groovyPageRenderer.render() が完全な gsp WITH レイアウトをレンダリングしないのはなぜですか?
ご協力いただきありがとうございます!