Navegação

    Fórum Técnico Insoft4

    • Login
    • Pesquisar

    Injeção de imagens em templates de e-mail - Plugin Grails Mail

    Desenvolvimento
    1
    1
    11
    Carregando Mais Posts
    • Mais Antigo para Mais Recente
    • Mais Recente para Mais Antigo
    • Mais Votados
    Responder
    • Responder como tópico
    Entre para responder
    Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
    • G
      gustavo_siqueira Desenvolvimento última edição por gustavo_siqueira

      Em alguns contextos pode ser necessário enviar e-mails fazendo uso de templates .gsp e que contenham imagens dentro de tags <img>.

      Porém, neste modelo de envio de mensagens, a injeção de conteúdo estático oriundo de web-apps/ é um pouco diferente.

      Passo a passo:

      O método responsável por enviar a mensagem deve ser do tipo multipart true. Essa propriedade deve ser declarada por primeiro na Clouse do método.

      Abaixo da injeção da propriedade html deve ser incluído cada uma das imagens a serem utilizadas no conteúdo da mensagem.
      Isso é feito através da propriedade inline, seguida pelo nome, mimetype e arquivo a ser usado.

      ...
      this.mailService.sendMail {
                  multipart true
                  to getTo()
                  if (getCc()) {
                      cc getCc()
                  }
                  subject getSubject()
                  html getGroovyPageRenderer().render(template: getTemplate(), model: getModel())
                  inline 'nomeQualquer', 'image/png',  Holders.getGrailsApplication().mainContext.getResource("images/logo.png").getFile()
              }
      ...
      

      Feito isso, agora é necessário inserir o link desse recurso dentro da tag <img>:

      ... <img src="cid:nomeQualquer"> ...

      Pronto, dessa forma a imagem é injetada no html da mensagem.

      Essa abordagem é necessária por conta da maneira como o plugin cria o conteúdo do email.

      Páginas e templates .gsp padrões do Grails (página index.gsp por exemplo) podem conter a injeção da imagem diretamente na tag <img>, com o src apontando para o diretório do projeto contendo o recurso.

      1 Resposta Última resposta Responder Citar 3
      • Primeiro post
        Último post
      Powered by NodeBB | Contributors