Grails邮件插件没有正确呈现模板

时间:2011-08-07 07:24:49

标签: grails service gsp

我正在使用带有mail-1.0-SNAPSHOT插件的Grails 1.3.7。我想使用GSP模板生成一条消息,我将其存储为/email/invitation.gsp

GSP的相关部分如下所示:

<p>To create a login, click on this 
<g:link controller="register" action="withInvitation" absolute="true" 
    params="[t:invitation.invitee.token]"  
    title="Create a new Querium login">link</g:link>.
</p>

我从我的服务中调用它如下:

void generateInvitationEmail(Invitation invitation) {
    def conf = SpringSecurityUtils.securityConfig
    String name = invitation.inviter.displayName()
    mailService.sendMail {
        to invitation.invitee.email
        from conf.ui.register.emailFrom
        subject "${name} wants to collaborate with you on ${invitation.topic.name}"
        body( view:"/email/invitation", 
            model:[invitation: invitation])
}

虽然呈现了模板类型并且发送了电子邮件,但存在两个问题:

如果我在absolute="true"标记上指定<g:link />参数,则会将URL插入到生成的<a ></a>元素中,但它是错误的网址。而不是形式

http://localhost:8080/appName/register/withInvitation?t=23bc7307-3558-46df-9c85-5f944eb26464

它看起来像这样:

http://localhost:8080/appName/appName/register/withInvitation?t=23bc7307-3558-46df-9c85-5f944eb26464

另一方面,如果我没有指定absolute参数,则根本不会发出任何链接。

如果我从控制器渲染此模板,指定absolute=true也会生成错误的网址,而省略absolute会生成正确的网址。

有没有办法让它从服务中正常工作?

谢谢!

基因

0 个答案:

没有答案