Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 

Email Com Imagem No Corpo Da Mensagem

19-04-2007 08:57

Olá !

Estou utilizando o código abaixo para envio de mensagem com anexo, mas não sei como fazer para alterar o código de forma que envie a imagem no corpo da mensagem.

A imagem deve estar linkada na mensagem, sabe?
Tipo aqueles emails de propaganda que as lojas como Americanas, magazine luiza e outras, costumam mandar.

Não precisa necessariamente ser esse mesmo código, pode ser outro também.

Por favor, SOCORRO ! :cry:
$assunto = $subjec; $mensagem = ('texto com formatação'); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; $mens .= "$mensagem\n"; $mens .= "--$boundary\n"; if ($anex == '1'){ $dir = 'afiles/'; if (is_dir($dir)) { if ($dh = opendir($dir)) { $cont=count($dh); while (($file = readdir($dh)) !== false) { if(($file!= '.') and ($file!= '..')) { $fp = fopen($dir . $file, "rb"); $anexo = (fread($fp, filesize($dir. $file))); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $mens .= "Content-Type: " . filetype($dir . $file) . "\n name=\"".$file."\"\n"; $mens .= "Content-Disposition: attachment; filename=\"".$file."\"\n"; $mens .= "Content-transfer-encoding:base64\n\n"; $mens .= $anexo."\n"; $mens.= "--$boundary\n"; } } $mens.= "--$boundary--"; closedir($dh); } } } $headers = "MIME-Version: 1.0\n"; $headers .= "Bcc: $nm <$meil>"; $headers .= "Date: ".date("D, d M Y H:i:s O")."\n"; $headers .= "From: $endmail\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; mail($para, $assunto, $mens, $headers);

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Email Com Imagem No Corpo Da Mensagem

19-04-2007 09:05

seria enviar códigos html, imagens, configuração de texto, etc...?
0
A melhor hospedagem para o seu site HostGator!
 

Email Com Imagem No Corpo Da Mensagem

19-04-2007 09:45

Isso mesmo.

O resultado deverá ser algo assim:

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nova pagina 1</title>
</head><body>
<p><img border="0" src="http://www.dominio.com/figura.jpg" width="26" height="26"></p>
</body>
</html>

Para eu poder enviar por email uma mala direta, como essa:
http://www.passarela.com.br/to/

Eu envio a imagem para o servidor pelo código de upload e insiro o link no corpo da mensagem através de variáveis.

O problema é que não está aceitando a configuração <html>.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Email Com Imagem No Corpo Da Mensagem

19-04-2007 11:57

dá uma olhada no link abaixo
viewtopic.php?t=99
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Email Com Imagem No Corpo Da Mensagem

15-08-2007 15:14

No link que passei tem um formulário logo no final do código, tem também uma linha em php que está:
mail("$seu_email","$assunto","$mensagem","From: $nome < $email >");

Essa linha é padrão para formato txt, para html, seria:

mail("$seu_email","$assunto","$mensagem","From: $nome < $email > Content-type: text/html");

Tanto para enviar ou receber algo em html usando a função mail com o content-type, basta usar a tag <img> do html normalmente no corpo do e-mail, no caso do form do link acima, o textarea.
0
A melhor hospedagem para o seu site HostGator!
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Email Com Imagem No Corpo Da Mensagem

15-08-2007 20:51

Dessa forma mesmo, você tem algum site na Internet?

Se sim, basta colocar o endereço e o nome da imagem no diretório que está. Caso contrário, terá que procurar um serviço de servidor virtual que ofereça espaço para os visitantes enviarem fotos para o servidor.

Ai ficaria: <img src="http://SERVIDORTAL/CODIGODAIMAGEM....">

Esse endereço para figura geralmente o servidor mesmo que cria.
0
A melhor hospedagem para o seu site HostGator!
 

Email Com Imagem No Corpo Da Mensagem

05-09-2007 14:48

O problema para envio de imagens por html com as imagens no servidor, é que alguns leitores de e-mail como Outlook, bloqueiam as imagens , e para que seja visualizada o usuario tem que autorizar a exibição, o que muitas vezes acaba não acontecendo, ele deleta por ficar com medo de exibilas, uma solução boa é a inserção de imagens direto no corpo da mensagem, sem ter que baixalas em um servidor para exibilas, pois se o usuario baixa as mensagens e depois as visualiza sem internet, no caso das imagens como "<img src="http://seudominio.com.br/img.jpg"> ele não visualizara as imagens;

Segue um script que achei nos foruns da vida que leva a imagem junto com a mensagem e a exibe no corpo, porém preciso de ajuda no que diz relação a este codigo , é como faço para inserir mais de uma imagem

Segue código:
<?php $imagem_nome="img.jpg"; //endereço da imagem no seu computador $arquivo=fopen($imagem_nome,'r'); $contents = fread($arquivo, filesize($imagem_nome)); $encoded_attach = chunk_split(base64_encode($contents)); fclose($arquivo); $limitador = "_=======". date('YmdHms'). time() . "=======_"; $mailheaders = "From: americatronic@bol.com\r\n"; $mailheaders .= "MIME-version: 1.0\r\n"; $mailheaders .= "Content-type: multipart/related; boundary=\"$limitador\"\r\n"; $cid = date('YmdHms').'.'.time(); $texto=" <html> <body><CENTER> <img src=\"cid:$cid\"> <font size=6><br />blablabla </font> </body> </html> "; $msg_body = "--$limitador\r\n"; $msg_body .= "Content-type: text/html; charset=iso-8859-1\r\n"; $msg_body .= "$texto"; $msg_body .= "--$limitador\r\n"; $msg_body .= "Content-type: image/jpeg; name=\"$imagem_nome\"\r\n"; $msg_body .= "Content-Transfer-Encoding: base64\r\n"; $msg_body .= "Content-ID: <$cid>\r\n"; $msg_body .= "\n$encoded_attach\r\n"; $msg_body .= "--$limitador--\r\n"; mail("americatronic@americatronic.com.br","Assunto",$msg_body, $mailheaders); echo"Mensagem enviada"; ?>

Se alguem poder me dar a dica de como faço este codigo enviar duas ou mais imagens, ficaria muito grato.

Pelo metodo de imagem no servidor ja consegui normalmente.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Email Com Imagem No Corpo Da Mensagem

05-09-2007 17:50

Ainda não ví nada funcional nesse sentido. Se achar uma solução posto aqui.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado