Ir para conteúdo
Fórum Script Brasil
  • 0

Newsletter


dammy

Pergunta

pessoal, passei o final de semana tentando resolver isso e consegui avançar um pouco, mas agora não sei mais como posso resolver...

o código abaixo está funcionando perfeitamente para o envio de 1 arquivo, mas preciso de ajuda para enviar vários que estarão dentro de uma pasta no servidor.

$para = "$email\r\n";

$mensagem = ('<html>mensagem</html>');

$assunto = $subject;

$anexos = 0;

$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 = 'files/';

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

while (($file = readdir($dh)) !== false) {

if(($file!= '.') and ($file!= '..')) {

$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";

if($file !== false) {

$mens.= "--$boundary--";

}else {

$mens.= "--$boundary\n";

}

}

}

closedir($dh);

}

}

}

$headers = "MIME-Version: 1.0\n";

$headers .= "Date: ".date("D, d M Y H:i:s O")."\n";

$headers .= "From: $emailll\r\n";

$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";

mail($para, $assunto, $mens, $headers);

tentei utilizar o for como segue, mas não deu certo.

Desta forma, se eu anexar 2 arquivos, vai 1 só, sendo o nome de 1 e o conteudo do outro.

if ($anex == '1'){

$dir = 'files/';

if (is_dir($dir)) {

if ($dh = opendir($dir)) {

$cont=count($dh);

for($j=0;$j<=$cont;$j++){

while (($file[$j] = readdir($dh)) !== false) {

if(($file[$j]!= '.') and ($file[$j]!= '..')) {

$mens .= "Content-Type: " . filetype($dir . $file[$j]) . "\n name=\"".$file[$j]."\"\n";

$mens .= "Content-Disposition: attachment; filename=\"".$file[$j]."\"\n";

$mens .= "Content-transfer-encoding:base64\n\n";

$mens .= $anexo."\n";

if($file[$j] !== false) {

$mens.= "--$boundary--";

}else {

$mens.= "--$boundary\n";

}

$anexos++;

}

}

}

closedir($dh);

}

}

}

desde já, muito obrigada.

abraço,

dammy

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, pessoal, desculpe-me pela insistência... mas ninguém pode me ajudar a resolver isso?

Nos vários exemplos que encontrei na internet, os arquivos são pegos diretamente do formulário, não dá certo porque eu estou salvando os arquivos em uma pasta para depois abrir a pasta e enviá-los como anexo.

Não há como fazer diferente, pois este código é de uma newsletter em que uso cron para o envio em blocos, então preciso dos arquivos armazenados para o envio posterior do cron, entenderam como é?

Olha, preciso demais disso, já fiz vários testes e não consegui avançar. O máximo que consegui foi envir 1 anexo, como já disse, mas são 5 que preciso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...