Ir para o conteúdo
Gonçalo_ssb

Imagem no corpo do email

Mensagens Recomendadas

Gonçalo_ssb    1
Gonçalo_ssb

Ola muito bom dia,

Mais uma vez venho aqui colocar uma dúvida na qual não estou a conseguir obter resposta a partir das minhas pesquisas. A minha dúvida consiste em colocar uma imagem no corpo do email que envio via função mail().

O meu código é o seguinte:


$texto = "Caro(a): $nome_contacto <br /><br /> $mensagem <br /><br /> Cumprimentos,<br />Fascínio health Club.<br />";

mail($email_contacto,$assunto, $texto,"From: Fascínio Health Club <geral@fascinio.net>" . "MIME-Version: 1.0\n" . "Content-type: text/html; charset=iso-8859-1");

Antes deste código é feito um upload de uma imagem para o meu servidor.

A minha variável de $mensagem é composta por código HTML e fica com o seguinte aspecto:

$mensagem = "$texto_news <br /><img src='http://www.fascinio.net/admin/$imagem' />";

O problema é que a minha imagem não está a aparecer no corpo do meu email.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Boas,

Para aparecer sempre a imagem no mail, tens de a embeber. A maneira mais fácil de fazer isso é usares a class phpmailer (se nao estou em erro no nome) que te facilita nesse ponto. O que ela faz é codificar a imagem como texto e assim seguir sempre nos emails, sem ser preciso ir carregá-la ao servidor.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Epa... que grande confusão que praqui vai.

Rapaz, a única coisa que tens que fazer é enviar um email em HTML. Não só o conteudo do email deve ser html, tambem o header apropriado deve estar definido com o mime type adequando (text/html se não me engano).

A imagem podes envia-la em anexo (não aconselhado) ou simplesmente fazer como tu disseste e subi-la par ao teu servidor.

Está tudo no manual:

http://se.php.net/function.mail

inclusive um exemplo de um email em html.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gonçalo_ssb    1
Gonçalo_ssb

Caro PedroTuga, pois a minha dúvida principal reside na forma correcta de desenvolvimento, pois há pessoas que dizem uma coisas e há outras que dizem outra. Como podes ver no código do tópico inicial, eu já estou a fazer o que dizes ou seja, apenas incluir código HTMl com uma referencia para a minha imagem e também um header. Contudo nao está a funcionar, vou verificar melhor a tua referencia.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Nem precisas de ir ao \r\n, falta-te a mudança de linha do From para o MIME-Version. :D

Verifica também se o URL no src da <img> é o correcto.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Na especificação de facto só diz que tem que ser um header por linha. Um \n é gajo para chegar.

O \r\n sempre foi das coisas que me fez muita confusão. Se alguem tiver um link ou quiser explicar aqui a história dos newlines.

Qual é que é o newline 'unix-style'. O UNIX usava um código diferente do ascii? Como dá conta o ascii desses caracteres assim que encontra um?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Na especificação de facto só diz que tem que ser um header por linha. Um \n é gajo para chegar.

O \r\n sempre foi das coisas que me fez muita confusão. Se alguem tiver um link ou quiser explicar aqui a história dos newlines.

Qual é que é o newline 'unix-style'. O UNIX usava um código diferente do ascii? Como dá conta o ascii desses caracteres assim que encontra um?

Originalmente, os macs usavam o caracter \r (cariage return -> significava "voltar para o inicio da linha" como nas maquinas de escrever), e o Unix usava o \n (line feed -> mudar para a linha seguinte) e o Windows usava os 2 caracteres \r\n (criage return + line feed = voltar para o inicio da linha de baixo). É tudo uma questão de semântica. Por causa de compatibilidades, os macs passaram a usar o \n do unix e o windows continuou a usar os 2 caracteres juntos.

Acho que já tinha disto isto algures.

http://en.wikipedia.org/wiki/Carriage_return

http://en.wikipedia.org/wiki/Newline

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade