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

baixar e salvar anexos de e-mails automaticamente
Por
AleksiaMilas, em PHP
Recommended Posts
-
Conteúdo Similar
-
Por djessica
Olá, bom dia.
Tenho um formulário que envia as informações direto para o e-mail, implementei um campo para anexos, mas só recebo um anexo, gostaria de saber como enviar mais de um anexo por este mesmo input, se possível. (o input já recebe mais de um arquivo)
Obrigada.
segue o código funcionando. com apenas um anexo.
<?php /* Valores recebidos do formulário */ $arquivo = $_FILES['arquivo']; $nome = $_POST['nomedoolicitante']; $email = $_POST['emailsolitante']; $descricao = $_POST['descriçõesInstitucional']; $consideracoes = $_POST['consideraçõesInstitucional']; $to = xx'; $from = "xx"; // Deve ser um email válido do domínio /* Cabeçalho da mensagem */ $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $headers = "MIME-Version: 1.0\n"; $headers.= "From: $nome <$email> \n"; $headers.= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers.= "$boundary\n"; /* Layout da mensagem */ $subject = "Contato pelo site "; $corpo_mensagem = " <html> <p><b>Referente ao Solicitante: </b></p> <p><b>Nome: </b>$nome</p> <p><b>E-mail: </b>$email</p> <p><b>Referente ao Material Institucioinal: </b></p> <p><b>Descrição: </b>$descricao</p> <p><b>Considerações: </b>$consideracoes</p> </html> "; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado. $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior $anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail fclose($fp); // Fecha o arquivo aberto anteriormente $anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar $mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem $mensagem.= "Content-Transfer-Encoding: 8bits\n"; $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n"; $mensagem.= "$corpo_mensagem\n"; $mensagem.= "--$boundary\n"; $mensagem.= "Content-Type: ".$arquivo["type"]."\n"; $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; $mensagem.= "Content-Transfer-Encoding: base64\n\n"; $mensagem.= "$anexo\n"; $mensagem.= "--$boundary--\r\n"; } else // Caso não tenha anexo { $mensagem = "--$boundary\n"; $mensagem.= "Content-Transfer-Encoding: 8bits\n"; $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n"; $mensagem.= "$corpo_mensagem\n"; } /* Função que envia a mensagem */ if(mail($to, $subject, $mensagem, $headers)) { echo "<meta http-equiv='refresh' content='10;URL=../OBRIGADO!.html'>"; } else { echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!"; } ?> -
Por Dr. Programador
Boa tarde galera!
Estou iniciando no mundo do e-mail marketing e tenho algumas dúvidas.
Tenho uma base de 50 mil emails opt-in e gostaria de saber qual ferramenta de validação de e-mail vocês recomendaria com melhor custo benefício?
Gostaria de fazer uma higienização da minha lista de e-mails para retirar e-mails inválidos e evitar dores de cabeça futuras.
Desde já agradeço a vocês!
Abraços!
-
Por Piim
Bom dia, sou iniciante no PHP e qualquer tipo de linguagem de programação. Estou a fazer um site para um projeto e necessitava de adicionar um formulário de contacto/orçamento com possibilidade de anexar ficheiros. A parte do formulário de contacto já está a funcionar, já chega ao email a informação, mas agora não sei como fazer a etapa do anexar ficheiros. Alguém pode me ajudar por favor? Obrigado desde já!
<?php require_once("php/PHPMailer.php"); require_once("php/PHPMailerAutoload.php"); require_once("php/SMTP.php"); require_once("php/Exception.php"); require_once("php/POP3.php"); $mail = new PHPMailer\PHPMailer\PHPMailer(); //Encontrar erros $mail->SMTPDebug = 2; $mail->IsSMTP(); $mail->Host = "smtp.gmail.com"; $mail->SMTPAuth = true; $mail->Port = 587; $mail->SMTPSecure = TLS; $mail->Username = '****@gmail.com'; $mail->Password = '*******'; // PAP - dados do remetente $mail->Sender = "*****@gmail.com"; $mail->From = "*****@gmail.com" ; $mail->FromName = "Cliente"; // PAP - dados do destinatário $mail->AddAddress('*****@gmail.com', 'Nome - Recebe1'); $mail->IsHTML(true); $mail->CharSet = 'utf-8'; // PAP - Mensagem $mail->Subject = "Formulário de Contato"; $mail->Body .= " Nome: ".$_POST['nome']."<br>"; $mail->Body .= " E-mail: ".$_POST['email']."<br>"; $mail->Body .= " Assunto: ".$_POST['assunto']."<br>"; $mail->Body .= " Mensagem: ".nl2br($_POST['mensagem'])."<br>"; // PAP - Envio $enviado = $mail->Send(); $mail->ClearAllRecipients(); if ($enviado) { echo "E-mail enviado com sucesso!"; } else { echo "Não foi possível enviar o e-mail."; echo "<br><b>Detalhes do erro:</b> " . $mail->ErrorInfo; } ?>
-
Por clovis.sardinha
Estou montando uma página para enviar a senha perdida.
Todos os parâmetros estão corretos, mas a mensagem não vai. No lugar dela aparece Object.
a página da mensagem está assim:
<!DOCTYPE html> <html lang="pt_br"> <head> <meta charset="utf-8"> </head> <body> Sua senha é :<?php $senha?> Se a senha estiver em branco é porque você utilizou outro e-mail ou não é cadastrado. Qualquer duvida entre em contato atraves do site ou deste e-mail e retornaremos. Caso você não tenha solicitado esta senha, por favor ignore este e-mail. Obrigado, Atenciosamente, </body> na controller eu tenho estas linhas para passar a mensagem.
$senha= new User_cadastro('senha'); $msg=$this->load->view('usuario/enviasenha'); $this->email->message($msg); if($this->email->send()) Esta é a model:
function reenviarsenha(){ $this->db->where('email', $this->input->post('email')); $query = $this->db->get('cadastro_interessado'); return $query->result(); if ($query->num_rows == 1) { $user=$this->row('cadastro_interessado'); } return false; } Alguém me ajuda a descobrir o erro? Obrigado.
-
Por Hulkstar
Olá,
Estou usando o PHPMailer para envio de email smtp através do gmail,o gmail está tudo configurado certinho,o script acredito que esteja configurado de forma correta também,pois eu utilizava o mesmo sistema em um servidor antigo,porém devido eu ter alterado de servidor,agora estou com problema para configurar isso,segue abaixo o script que eu estou usando.
eu cheguei a instar o postfix e o sendemail,mais não deu certo,alguém tem alguma ideia que possa estar me ajudando?
include("phpmailer/class.phpmailer.php"); include("phpmailer/class.smtp.php"); include("phpmailer/class.pop3.php"); include("phpmailer/PHPMailerAutoload.php"); $ToEmail = ''; $MessageHTML = ''; $MessageTEXT = ''; $Mail = new PHPMailer(); $Mail->IsSMTP(); $Mail->Host = "smtp.gmail.com"; $Mail->SMTPAuth = TRUE; $Mail->SMTPSecure = "ssl"; $Mail->Port = 465; $Mail->Username = ''; $Mail->Password = ''; $Mail->Priority = 1; $Mail->CharSet = 'UTF-8'; $Mail->Encoding = '8bit'; $Mail->Subject = ''; $Mail->ContentType = 'text/html; charset=utf-8\r\n'; $Mail->From = ''; $Mail->FromName = ''; $Mail->WordWrap = 900; $Mail->AddAddress($ToEmail); $Mail->isHTML(TRUE); $Mail->Body = $MessageHTML; $Mail->AltBody = $MessageTEXT; $Mail->Send(); $Mail->SmtpClose();
Obrigado!
-