如何发送带有布局的电子邮件

时间:2013-11-20 03:32:15

标签: grails smtp

我正在使用grails邮件插件。当我提交表单时,它会发送一封电子邮件从aaa@example.com到textField name =“电子邮件成功但我怎样才能发送带有布局的电子邮件......不像这张图片http://www.4shared.com/photo/uT2YUCfo/Capture__2_.html或者某些CSS ..

FORM

<g:form action="send">
<table style="width:500px">
<tbody>
<tr>
   <td>Your Email Address  </td>
       <td><g:textField style="width:250px" name = "email"/></td>
</tr>
<tr>
   <td>Your Name</td>
       <td><g:textField style="width:250px" name = "user"/></td>
</tr>
<tr>
   <td><input type="submit"/></td>
</tr>
</tbody>
</table>
</g:form>

MAIL CLOSURE

def send = {
        sendMail {
            to params.email
            from "aaa@yahoo.com"
            subject "Test Reset Password"
            body(view:"/user/layoutmail",model:[name:params.user])
        }
        render "Email Terkirim"
    }

2 个答案:

答案 0 :(得分:1)

嗯,你实际上可以使用电子邮件的布局,类似于如何使用视图页面的布局。您想要做的是为您的电子邮件正文内容创建一个新的布局和一个视图文件。

布局:例如。 ../ views / layouts / emailLayout.gsp

<%@ page contentType="text/html" %>
<html>
<head>
   <meta name="viewport" content="width=device-width" />
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <style>
       a {color: #348eda;}
   </style>
 </head>
 <body>
    <g:layoutBody/>
 </body>
</html>

查看例如。 ../视图/电子邮件/ welcomeEmail.gsp

<%@ page contentType="text/html" %>
<g:applyLayout name="emailLayout">
<html>
<body
   <a href="${welcome.url}">Your Welcome ${welcome.username}</a>
</body>
</html>
</g:applyLayout>

并发送邮件继承人一个例子

def sendWelcomeMail(User user, String url){
    def rtn = [success:false]
    if(user) {
        def fooBar = [
                username: user.username,
                email: user.email,
                url: url
        ]
        sendMail {
            async true
            to fooBar.email.trim()
            subject "Welcome Email"
            body(view: '/emails/welcomeEmail', model: [welcome: fooBar])
        }
        rtn.success = true
    }
    return rtn
}

答案 1 :(得分:0)

它不会选择grails布局。你真的不想要它。您应该以一种独立的网页方式构建您的电子邮件,而不是其他依赖项。所有使用的静态资源都应该可以通过公共URL访问。