Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andreia Regina

para anexar arquivo através do script

Recommended Posts

Olá Pessoal!!!

 

Estou quase concluindo um programinha de newsletter, mas não estou conseguindo anexar a imagem.

Funciona assim: o usuário cadastra o assunto, a mensagem e uma imagem se quiser.

Estas informações são gravadas no banco de dados o caminho onde é salvo o arquivo é determinado por mim no programa não altera

Aí qdo for enviar a mensagem ela deve pegar esta imagem e colocar no e-mail enviando para todos.

Mas está chegando assim:

Conteúdo da mensagem!!!

 

Eu quero ficar só, mas comigo só eu não consigo. Eu quero ficar junto, mas sozinho assim não é possível.

 

É preciso amar direito, um amor de qualquer jeito, ser amor a qualquer hora ser amor de corpo inteiro.Um amor de dentro pra fora, um amor que eu disconheço.

 

Quero um amor maior! um amor maior que eu!

 

!!!Final!!!--1117227240 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=ttp://www.dominio.com.br/mensagens/cats.jpg' /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy

continua mas eu não coloquei tudo aqui né!?

o Código está assim:

   // enviando os emails  $recipients = ""; //destino pode ser o seu endereço de mail mesmo, para parecer como se fosse enviado para uma lista.  $boundary = strtotime('NOW');       $headers = "From: Deputado <email@dominio.com.br>\n";   $headers.= "MIME-Version: 1.0\n";   $headers.= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\n";   $headers.= "bcc:".$mails."\n"; // aqui vão os endereços de email formatados, em cópia oculta.  $msg = "--" . $boundary . "\n";   $msg.= "Content-Type: text/html; charset=\"iso-8859-1\"\n";   $msg.= "Content-Transfer-Encoding: quoted-printable\n\n";   $msg.= "$msg_body";   if ($imagem !="")  {	$msg.= "--" . $boundary . "\n"; 	$msg.= "Content-Transfer-Encoding: base64\n"; 	$msg.= "Content-Disposition: attachment; filename=\"http://www.dominio.com.br/mensagens/$imagem\"\n\n"; 	ob_start();     readfile("http://www.dominio.com.br/mensagens/$imagem");     $enc = ob_get_contents(); 	ob_end_clean(); 	$msg_temp = base64_encode($enc). "\n"; 	$tmp[1] = strlen($msg_temp); 	$tmp[2] = ceil($tmp[1]/76); 	for ($b = 0; $b <= $tmp[2]; $b++) 	{      $tmp[3] = $b * 76;      $msg .= substr($msg_temp, $tmp[3], 76) . "\n"; 	} 	unset($msg_temp, $tmp, $enc);   }//mail("para@email.com.br", "Assunto", $msg, $headers);   if (!@mail($recipients, $assunto, $msg, $headers))   {    echo "Mensagem não enviada";  }   else   {	// altera o status 0 para 1 das mensagens (0= gravado 1=pronta para enviar 2=enviando) 	 echo "Mensagem enviada com sucesso";  }
=============EDITANDO

Eu mudei a linha

PHP

[*]$msg.= "Content-Disposition: attachment; filename='http://www.dominio.com.br/mensagens/$imagem'\n\n";

Para

PHP

[*]$msg.= "Content-Disposition: attachment; filename=\"http://www.dominio.com.br/mensagens/$imagem\"\n\n";

E continua mostrando a mesma coisa :(

!!!Final!!!--1117306250 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=ttp://www.sisflex.com.br/dep/mensagens/CATS.JPG" /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy

Alguém pode me ajudar???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada nesses scripts, ainda não me aprofundei muito nisso.. mas acho q os anexos tem q ser encodados com o Base64_encode

 

 

Mas de qualquer forma. como eu não tenho certeza do q eu to falando. tem esses scripts q acho q vão te servir

 

http://www.phpbrasil.com/scripts/script.php/id/1897

 

http://www.phpbrasil.com/scripts/script.php/id/1587

 

http://www.phpbrasil.com/scripts/script.php/id/1092

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal!

 

Fiz usando <img src=> mas queria colocar com o clipinho do anexo qdo for só imagem que está com o nome no banco de dados.

O código está assim:

PHP

[*] $boundary = strtotime('NOW')

[*]

[*] $headers = "From: Deputado<email@dominio.com.br>\n"

[*] $headers.= "MIME-Version: 1.0\n"

[*] $headers.= "Content-Type: multipart/mixed; boundary=\"" . $boundary . "\"\n"

[*] $headers.= "Content-Type: text/html; charset=\"iso-8859-1\"\n"

[*] $headers.= "bcc:".$mails."\n"// aqui vão os endereços de email formatados, em cópia oculta.

[*]

[*] $msg = "--" . $boundary . "\n"; 

[*] $msg.= "Content-Transfer-Encoding: quoted-printable\n\n"

[*]

[*] if ($imagem !="")

[*] {

[*] $msg.= "--" . $boundary . "\n"; 

[*] $msg.= "Content-Transfer-Encoding: base64\n"

[*]// $msg.= "Content-Type: \"image/gif\"; name=\"$imagem\"\n"

[*] $msg.= "Content-Disposition: attachment; filename=\"http://www.dominio.com.br/mensagens/$imagem\"\n\n"

[*]

[*] ob_start()

[*]  readfile("http://www.dominio.com.br/dep/mensagens/$imagem")

[*]  $enc = ob_get_contents()

[*] ob_end_clean()

[*]

[*] $msg_temp = base64_encode($enc)"\n"

[*] $tmp[1] = strlen($msg_temp)

[*] $tmp[2] = ceil($tmp[1]/76)

[*]

[*] for ($b = 0; $b <= $tmp[2]; $b++) 

[*] { 

[*] $tmp[3] = $b * 76; 

[*] $msg .= substr($msg_temp, $tmp[3], 76) . "\n"

[*] } 

[*]

[*] unset($msg_temp, $tmp, $enc)

[*] }

[*]

[*] $msg.= "$msg_body"

[*]

[*] if (!@mail($recipients, $assunto, $msg, $headers)

[*] {

[*] echo "Mensagem não enviada";

[*] } 

[*] else 

[*] {

[*]

[*] echo "Mensagem enviada com sucesso";

[*] }

Quem puder me ajudar eu agradeceria muito http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

 

Andreia Regina

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.