Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''anexo''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 12 registros

  1. Boa noite pessoal. Tenho um site em funcionamento em um domínio próprio, e o mesmo foi feito todo em html, aliás utilizo o Adobe DreamWeaver para fazer as edições. http://www.wmanske.com.br Na página contato, http://www.wmanske.com.br/contato , tenho um formulário para envio de e-mails funcionando perfeitamente, porém gostaria de acrescentar a ele um campo para anexar arquivos, onde o ideal seria para arquivos de até 2mb Segue abaixo o código html do formulário, e mais abaixo o arquivo enviar.php: <!-- CONTACT FORM --> <div class="col-sm-12 col-md-7"> <form name="contactform" id="contactform" method="post" action="enviar.php"> <fieldset> <div class="row"> <div class="col-md-5 col-lg-4"> <div class="form-group"> <select class="selectpicker" data-style="selectcorp" name="Departamento" id="departament"> <option value="Orçamento:">Orçamento</option> <option value="Engenharia:">Engenharia</option> <option value="Comercial:">Comercial</option> <option value="Financeiro">Financeiro</option> <option value="Outros">Outros</option> </select> </div> </div> <div class="col-md-7 col-lg-8"> <div class="form-group"> <label class="sr-only" for="subject">Assunto<br></label> <div class="inner-addon left-addon"> <i class="fa fa-pencil"></i> <input type="text" class="form-control required" placeholder="Assunto" name="Assunto" id="subject"> </div> </div> </div> <div class="col-md-12"> <div class="form-group"> <label class="sr-only" for="name">Nome<br></label> <div class="inner-addon left-addon"> <i class="fa fa-user"></i> <input type="text" class="form-control required" placeholder="Seu Nome Completo" name="name" id="name" data-name="Name"> </div> </div> <div class="row row-lg"> <div class="col-lg-7"> <div class="form-group"> <label class="sr-only" for="email">Email<br></label> <div class="inner-addon left-addon"> <i class="fa fa-envelope"></i> <input type="email" class="form-control required required-email" placeholder="Seu Melhor E-Mail" name="email" id="email" data-name="Email"> </div> </div> </div> <div class="col-lg-5"> <div class="form-group"> <label class="sr-only" for="name">Fone<br></label> <div class="inner-addon left-addon"> <i class="fa fa-phone"></i> <input type="text" class="form-control required required-phone" placeholder="Seu Melhor Número" name="phone" id="phone" data-name="Phone"> </div> </div> </div> <div class="col-md-12"> <div class="form-group"> <label class="sr-only" for="name">Endereço<br></label> <div class="inner-addon left-addon"> <i class="fa fa-map-marker"></i> <input type="text" class="form-control required" placeholder="Seu Endereço Completo" name="adress" id="adress" data-name="Adress"> </div> </div> </div> </div> <div class="form-group"> <label class="sr-only" for="message">Mensagem<br></label> <div class="inner-addon left-addon"> <i class="fa fa-comment"></i> <textarea rows="13" name="message" id="message" class="form-control required" placeholder="Compartilhe o seu sonho conosco! Vamos lhe responder em no máximo 24hrs." data-name="Message"></textarea> </div> </div> </div> </div> <div class="row actions"> <div class="col-sm-12 col-md-6"> <input type="submit" href="http://www.wmanske.com.br/contato/" value="&#xf1d9; &nbsp;Enviar" name="submit" id="submitButton" class="btn btn-default btn-primary-corp-big" title="Clique aqui para enviar sua mensagem!" /> </div> <div class="g-recaptcha" data-sitekey="6LcAwlAUAAAAAEWwdheQAGVWrZzUIgkMnyubvthp"></div><div class="col-sm-12 col-md-6"> <div class="alert alert-danger" role="alert" id="alertform">...</div> </div> </div> </fieldset> </form> <p>&nbsp;</p> </div><!-- /CONTACT FORM --> <?php function enviar($para, $assunto, $post, $de = 'contato@wmanske.com.br'){ $mensagem = ""; if(is_array($post)){ foreach ($post as $key => $value) { $mensagem .= "<strong>$key: </strong>$value<br>"; } }else{ $mensagem = $post; } $headers = "MIME-Version: 1.1\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= 'To: '.$para . "\n"; $headers .= 'From: '.$de . "\n"; $headers .= "Reply-To: $de\n"; // Para enviar o e-mail em formato HTML com codificação de caracteres Unicode (Usado em todos os países) //$headers .= "Content-type: text/html; charset=utf-8\n"; //mail($para, $assunto, $mensagem, $headers); $quebra_linha = "\n"; if(!mail($para, $assunto, $mensagem, $headers ,"-r".$de)){ // Se for Postfix $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix" mail($para, $assunto, $mensagem, $headers ); } return true; } if (isset($_POST)) { enviar('contato@wmanske.com.br', 'Formulário do Site - Wmanske', $_POST); } ?>
  2. FernandoFreire

    Enviar imagem que está no servidor como anexo de email

    Fala galera, Tenho uma dúvida pois nunca fiz algo do tipo. Preciso enviar um email com folder's (imagens) que já estão no servidor. Alguém tem uma ideia de como fazer isso? O envio do email já está funcionando. Estou utilizando codeigniter e phpmailer.
  3. Rodrigokyo

    Enviando multiplos arquivos por email php

    Pessoal alguém sabe como enviar múltiplos arquivos por email com php, eu peguei um tutorial php que funciona ele envia anexo normalmente porem ele não envia mais do que um por vez, gostaria que enviasse mais de um onde eu selecionaria vários arquivos no mesmo input e enviaria para um email, veja o modelo que estou usando. Index.html <html> <head> <script language="javascript"> function checa_formulario(email){ if (email.nome_para.value == ""){ alert("Por Favor nao deixe o nome em branco!!!"); email.nome.focus(); return (false); } if (email.email.value == ""){ alert("Nao deixe o email destinatario em branco!!!"); email.email.focus(); return (false); } if (email.assunto.value == ""){ alert("Nao deixe o assunto em branco!!!"); email.assunto.focus(); return (false); } } </script> <title>Enviando texto</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .email { text-transform: lowercase; } .texto { color: #0000FF } .style1 {color: #FF0000} --> </style> </head> <body onLoad="document.email.nome.focus();"> <form onsubmit="return checa_formulario(this)" action="envia.php" method="post" enctype="multipart/form-data" name="email"> <h1 align="center" class="style1">Formulário de email com anexo </h1> <table width="50%" border="0" align="center"> <tr> <td><div align="right"><span class="texto">Nome do destinatario:</span></div></td> <td><input name="nome_para" type="text" id="nome_para"></td> </tr> <tr> <td><div align="right" class="texto">Email de destino</div></td> <td><input name="email" type="text" class="email"> </tr> <tr> <td><div align="right" class="texto">Assunto</div></td> <td><input name="assunto" type="text" id="assunto"></td> </tr> <tr> <td><div align="right" class="texto">Mensagem</div></td> <td><textarea name="mensagem" cols="50" rows="10" id="mensagem"></textarea></td> </tr> <tr> <td><div align="right" class="texto">Anexo</div></td> <td><input name="arquivo" type="file"></td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table> </form> </body> </html> envia.php <?php //Pega os dados postados pelo formulário HTML e os coloca em variaveis if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$', $_SERVER[HTTP_HOST])) { //substitua na linha acima a aprte locaweb.com.br por seu domínio. $email_from='email@seudominio'; // Substitua essa linha pelo seu e-mail@seudominio }else { $email_from = "email@" . $_SERVER[HTTP_HOST]; // Na linha acima estamos forçando que o remetente seja 'webmaster@', // você pode alterar para que o remetente seja, por exemplo, 'contato@'. } if( PATH_SEPARATOR ==';'){ $quebra_linha="\r\n"; } elseif (PATH_SEPARATOR==':'){ $quebra_linha="\n"; } elseif ( PATH_SEPARATOR!=';' and PATH_SEPARATOR!=':' ) {echo ('Esse script não funcionará corretamente neste servidor, a função PATH_SEPARATOR não retornou o parâmetro esperado.'); } //pego os dados enviados pelo formulário $nome_para = $_POST["nome_para"]; $email = $_POST["email"]; $mensagem = $_POST["mensagem"]; $assunto = $_POST["assunto"]; //formato o campo da mensagem $mensagem = wordwrap( $mensagem, 50, "<br>", 1); //valido os emails if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){ echo"<center>Digite um email valido</center>"; echo "<center><a href=\"javascript:history.go(-1)\">Voltar</center></a>"; exit; } $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"" . $quebra_linha . "" . $quebra_linha . ""; //plain $mens .= "$mensagem" . $quebra_linha . ""; $mens .= "--$boundary" . $quebra_linha . ""; $mens .= "Content-Type: ".$arquivo["type"]."" . $quebra_linha . ""; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; $mens .= "$anexo" . $quebra_linha . ""; $mens .= "--$boundary--" . $quebra_linha . ""; $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; $headers .= "$boundary" . $quebra_linha . ""; //envio o email com o anexo mail($email,$assunto,$mens,$headers, "-r".$email_from); echo"Email enviado com Sucesso!"; } //se nao tiver anexo else{ $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "Content-type: text/html; charset=iso-8859-1" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; //envia o email sem anexo mail($email,$assunto,$mensagem, $headers, "-r".$email_from); echo"Email enviado com Sucesso!"; } ?>
  4. ghlevin

    PHP e Javascript - Enviando anexo HTML em e-mail

    Criei no site do meu cliente uma função que emite um certificado de evento realizado e manda por e-mail. Como está a função no momento: private static function setLayoutCertificado(){ class_exists('Email') || include_once LIBRARY_CLASS_PATH . 'Email.class.php'; $assunto = "Certificado de evento externo do colaborador " . $_SESSION['usuario']['nome']; $layout = '<html> <body> <div id="folhaA4paisagem"> <div id="logoPrograma" style="text-align: center"> <img id="imgPrograma" style="width: 400px" src="http://meusite.com.br/protected/viewc/theme/site/img/common/img/logo_quagilidade_original.png" /> </div> <div id="textoCertificado" style="text-align: center; font-family: Trebuchet MS; font-size: 24px; width: 1000px; position: fixed; top: 40%; left: 50%; transform: translate(-50%, -50%); line-height: 1.3;"> Certificamos que o(a) colaborador(a) '.$_SESSION['usuario']['nome'].' participou da capacitação '.str_replace("'","",$_SESSION['eventoCert']).', com carga-horária de '.str_replace("'","",$_SESSION['cargaCert']).', realizado no dia '.str_replace("'","",$_SESSION['dataCert']).'. </div> <div id="assinaturas" style="text-align: center; font-family: Trebuchet MS; font-size: 10px; width: 1000px; position: fixed; top: 70%; left: 50%; transform: translate(-50%, -50%);"> <table id="tableAssinaturas" style="text-align: center; align: center; position: fixed; top: 70%; left: 50%; transform: translate(-50%, -50%);"> <tr> <td>___________________________________</td> <td style="min-width: 300px"></td> <td>___________________________________</td> </tr> <tr> <td>Nome 1</td> <td></td> <td>Nome 2</td> </tr> <tr> <td>Cargo 1</td> <td></td> <td>Cargo 2</td> </tr> </table> </div> <div id="logo" style="text-align: center; width: 1000px; position: fixed; top: 90%; left: 50%; transform: translate(-50%, -50%);"> <img src="http://meusite.com.br/protected/viewc/theme/site/img/common/img/logo_grande.png" /> </div> </div> </body> </html>'; $o_email = New Email(); $o_email->to = 'meuemail@gmail.com'; $o_email->subject = $assunto; $o_email->content = $layout; $o_email->sendSmtp(SMTPHOST, SMTPUSER, SMTPPASSWORD); } O que eu queria fazer era transformar esse código do HTML em um anexo (com extensão HTML mesmo) desse e-mail, pois o que sai no corpo do e-mail não fica muito bom. Como posso fazer isso?
  5. Prezados boa noite. Estou tendo problema em enviar anexo e informações do formulário via e-mail. Envia somente a informação de celular. Alguém pode dar uma luz no que está errado? Preciso enviar o email com/sem anexo e gravar as informações do formulário no banco de dados. <?php header('Content-Type: text/html; charset=utf-8'); // Inclui o arquivo que faz a conexão ao MySQL include('Connections/commercial.php'); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); // Manipulamos as variáveis para evitar problemas com aspas e outros caracteres protegidos do MySQL $hoje_tmp = getdate(); $email_from = $_POST["email"]; $cellphone = $_POST["cellphone"]; $consuption = $_POST["consuption"]; $cep = $_POST["cep"]; $product = $_POST["product"]; $roof = $_POST["roof"]; $assunto = $_POST["subject"]; $client = $_POST["name"]; $email = "automatic@automatic.com.br"; //pego os dados enviados pelo formulario $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary\n"; $mens .= "Content-Transfer-Encoding: 8bits\n"; $mens .= "Content-Type: text/html; charset=\"utf-8\"\n\n"; //plain $mens .= "<p>Nome: $client</p>" . "<p>Cellphone: $cellphone</p>" . "<p>Consumo: $consuption</p>" . "<p>CEP: $cep</p>" . "<p>Telhado: $roof</p>" . "<p>Produto: $product\n</p>"; $mens .= "--$boundary\n"; $mens .= "Content-Type: ".$arquivo["type"]."\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; $mens .= "Content-Transfer-Encoding: base64\n\n"; $mens .= "$anexo\n"; $mens .= "--$boundary--\r\n"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: \"$name\" <$email_from>\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers .= "$boundary\n"; //envio o email com o anexo mail($email,$assunto,$mens,$headers); echo('Enviado com sucesso!'); } //se não tiver anexo else{ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: \"$nome\" <$email_from>\r\n"; //envia o email sem anexo mail($email,$assunto,$cellphone, $headers); echo('Enviado com sucesso!'); } $client = mysql_escape_string($client); $cep = mysql_escape_string($cep); $email_from = mysql_escape_string($email_from); $cellphone = mysql_escape_string($cellphone); $product = mysql_escape_string($product); // Montamos a consulta SQL $query1 = "INSERT INTO `sales_clients` (`name`, `email`, `cellphone`, `cep`, `product`, `roof`, `consuption_average`) VALUES ('".$client."', '".$email_from."', '".$cellphone."', '".$cep."', '".$product."', '".$roof."', '".$consuption."')"; // Executa a query $inserir = mysql_query($query1); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tupã</title> <script type="text/javascript"> window.setTimeout("location.href='index.php';", 2500); </script> </head> <body> </body> </html>
  6. Dina de Sousa

    Enviar anexo via email

    Preciso de ajuda. Quero enviar um anexo por via email. Mas tenho um array no php. E não sei como faço para enviar anexo um ficheiro. Segue o código: <?php /** * Hotel reservation submit */ define('_EMAIL_TO', 'info@desigm.pt'); // your email address where reservation details will be received define('_EMAIL_SUBJECT', 'Pedido de Orçamento | Desigm'); // email message subject define('_EMAIL_FROM', $_POST["email"]); $fields = array( array('name' => 'name', 'title' => 'Nome', 'valid' => array('require')), array('name' => 'empresa', 'title' => 'Empresa'), array('name' => 'email', 'title' => 'Email', 'valid' => array('require')), array('name' => 'phone', 'title' => 'Telefone', 'valid' => array('require')), array('name' => 'servico', 'title' => 'Tipo de Serviço', 'valid' => array('require')), array('name' => 'special-requirements', 'title' => 'Descrição do Serviço'), array('name' => 'conhe', 'title' => 'Como chegou até nós?', 'valid' => array('require')) ); $error_fields = array(); $email_content = array(); foreach ($fields AS $field){ $value = isset($_POST[$field['name']])?$_POST[$field['name']]:''; $title = empty($field['title'])?$field['name']:$field['title']; $email_content[] = $title.': '.nl2br(stripslashes($value)); $is_valid = true; $err_message = ''; if (!empty($field['valid'])){ foreach ($field['valid'] AS $valid) { switch ($valid) { case 'require': $is_valid = $is_valid && strlen($value) > 0; $err_message = 'Campo Obrigatório'; break; case 'email': $is_valid = $is_valid && preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $value); $err_message = 'Email Obrigatório'; break; default: break; } } } if (!$is_valid){ if (!empty($field['err_message'])){ $err_message = $field['err_message']; } $error_fields[] = array('name' => $field['name'], 'message' => $err_message); } } if (empty($error_fields)){ $headers = 'MIME-Version: 1.0' . "\r\n"; $headers = "From: "._EMAIL_FROM."\r\n"; $headers .= "Reply-To: "._EMAIL_FROM."\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // Send email mail (_EMAIL_TO, _EMAIL_SUBJECT, implode('<hr>', $email_content), $headers); echo (json_encode(array('code' => 'success'))); }else{ echo json_encode(array('code' => 'failed', 'fields' => $error_fields)); }
  7. renatovfreitas

    Erro Formulario PHPMailer

    Boa Tarde Galera estou com um problema, estou utilizando um formulario com anexo e lista, até ai tudo bem, todos os campos funcionam, exceto o de mensagem... se coloco um campo como textarea ele simplesmente não é enviado para o e-mail vou por os codigos separados aki caso alguem possa me ajudar... somente o campo MENSAGEM não chega. Contato.php <?php require_once('config.php'); if(sizeof($campoerror)==0 && isset($_POST['formulario'])){ require_once('enviaemail.php'); } $classaviso = (is_array($aviso)?($aviso['1']?'success aviso':'error aviso'):'none'); ?> <style> .campo{ float:right; width: 300px; margin-bottom: 20px; text-align: left; } .naopostado{ color: rgb(127, 127, 127); font-style: italic; } .right{ float: right; } .clear{ clear: both; } .info{ margin-bottom: 20px; color: #3a87ad; background-color: #d9edf7; border-color: #bce8f1; padding: 8px 35px 8px 14px; border: 1px solid #fbeed5; border-radius: 4px; } .success { color: #4F8A10; background:#DFF2BF url('imagens/success.png') no-repeat; } .warning { color: #9F6000; background:#FEEFB3 url('imagens/warning.png') no-repeat; } .error { color: #D8000C; background:#FFBABA url('imagens/error.png') no-repeat; } .aviso{ border: solid; width: 80%; padding-left: 20px; } .none{ display: none; } input, select{ width: 197px; } .errorinput{ background-color: <?php echo ($corerro?$corerro:'')?> } </style> <div class="<?php echo $classaviso?>"> <?php if(isset($aviso['0'])){ echo $aviso['0']; } ?> </div> <div class="col2"> <div class="info"><strong>Aviso: </strong>Campos Obrigatórios *</div> <form id="senddata" action="" method="post" name="senddata" enctype="multipart/form-data"> <input type="hidden" name="formulario" value="enviaemail" /> <?php for($i=0;$i<count($arraycampos);$i++){ //echo (isset($arraycampos[$i][3])?$arraycampos[$i][3]:''); $campo = $arraycampos[$i][1]; $mudacor = (in_array($campo, $campoerror)?$corerro:false); if(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'textarea'){ ?> <div class="col_half"> <label for="<?php echo $campo?>"> <span class="right"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span> <textarea class="<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?'':' naopostado').($mudacor?' errorinput':'')?>" name="<?php echo $campo?>" <?php echo (isset($arraycampos[$i][4]['col'])?'cols="'.$arraycampos[$i][4]['col'].'"':'').(isset($arraycampos[$i][4]['rows'])?'rows="'.$arraycampos[$i][4]['rows'].'"':'') ?> onblur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onfocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal';}else{ if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}}"><?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?></textarea> </label> <div class="clear"></div> </div> <?php }elseif(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'select'){ ?> <div class="col_half col_last"> <label for="<?php echo $campo?>"> <span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span> </label> <select <?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=''?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.options[this.selectedIndex].value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';}else{this.style.color='#333';this.style.fontStyle='normal';}"> <option value=""><?php echo (isset($arraycampos[$i][2])?$arraycampos[$i][2]:'Selecione')?></option> <?php if(isset($arraycampos[$i]['option'])){ foreach($arraycampos[$i]['option'] as $k => $v){ ?><option <?php echo (isset($_POST["$campo"])&& $_POST["$campo"] == $k?'selected="selected" ':'')?>value="<?php echo $k ?>"><?php echo $v?></option><?php } } ?> </select> </div> <?php }elseif(isset($arraycampos[$i][3]) && $arraycampos[$i][3] == 'file'){ ?> <div class="col_half col_last"> <label for="<?php echo $campo?>"> <span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span> </label> <input type="file"<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onFocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal'}" value="<?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?>"> </div> <?php }else{ ?> <div class="col_half col_last"> <label for="<?php echo $campo?>"> <span class="form-txt"><?php echo $arraycampos[$i][0].(isset($arraycampos[$i]['obrigatorio']) && $arraycampos[$i]['obrigatorio'] == 1?' * ':'')?>: </span> </label> <input type="text"<?php echo (isset($_POST["$campo"]) && $_POST["$campo"]!=$arraycampos[$i][2]?($mudacor?' class="errorinput"':''):' class="naopostado'.($mudacor?' errorinput"':'"'))?> name="<?php echo $campo?>" onBlur="if(this.value==''){this.style.fontStyle='italic';this.style.color='#7f7f7f';this.value='<?php echo $arraycampos[$i][2]?>';}" onFocus="if(this.value=='<?php echo $arraycampos[$i][2]?>'){this.value='';this.style.color='#333';this.style.fontStyle='normal'}" value="<?php echo (isset($_POST["$campo"])?$_POST["$campo"]:$arraycampos[$i][2])?>"> </div> <? } } ?> <div class="campo"> <input type="submit" name="Enviar" value="Enviar" /> </div> <div class="clear"></div> </form> config.php <?php /*Altere a cor que o campo ficará caso algum erro na validação, na variável $corerro*/ $aviso = false; $classaviso = 'none'; $corerro = '#FFBABA'; /*Defina aqui todos os campos do formulário na ordem Label, *name do input ou textarea, *valor inicial do campo (dica do que preencher),caso textarea, informe 'textarea', *caso textarea crie um array e defina rows e cols, conforme no exemplo abaixo, *defina no final se o campo é obrigario ou não com 1 ou 0 **/ $arraycampos = array( array('Nome','nome','Informe seu nome','obrigatorio'=>1), array('Renavam','renavam','Informe o numero do Renavam','obrigatorio'=>1), array('Placa','placa','Informe sua Placa','obrigatorio'=>1), array('Telefone','telefone','Informe seu telefone','obrigatorio'=>0), array('E-mail','email','Informe seu E-mail','obrigatorio'=>1), array('Assunto','assunto','Selecione o Assunto', 'select', 'obrigatorio'=>1, 'option' => array('cadastro' => 'Cadastro Consultoria', '1 emplacamento' => '1° Emplacamento', 'licenciamento' => 'Licenciamento', 'recurso' => 'Recurso de Multa', 'renaovacao' => 'Renovação de Carteira', 'transferencia' => 'Transferência')), array('Anexo','anexo','Incluir Arquivo Anexo', 'file', 'obrigatorio'=>0), array('Mensagem','mensagem','Informe sua Placa','rows'=>'10', 'col'=>'52','obrigatorio'=>1 ), ); function validacao($arraycampos){ $return = array(); if(isset($_POST)){ for($i=0;$i<count($arraycampos);$i++){ $campo = $arraycampos[$i][1]; if(isset($arraycampos[$i]['obrigatorio'])){ $obrigatorio = $arraycampos[$i]['obrigatorio']; }else{ $obrigatorio = false; } if(isset($_POST[$campo])){ if($obrigatorio){ if(trim($_POST[$campo])=='' || $_POST[$campo] == $arraycampos[$i][2]){ $return[] = $campo; } } } } }else{ return false; } return $return; } /*Campos com erro*/ $campoerror = validacao($arraycampos); if(sizeof($campoerror) > 0){ $aviso = array(); $aviso[0] = 'Erro:<br>'; for($i=0;$i<count($campoerror);$i++){ $aviso[0] .= 'O campo '.$campoerror[$i].' é obrigatorio.<br>'; } $aviso[1] = 0; } ?> enviaemail.php <?php /*Configuracaoo do seu e-mail*/ $email_do_seu_site = "****@****.com"; $senha_do_seu_email = "****"; $nome = $_POST['nome']; $email = $_POST['email']; if(isset($_POST['assunto'])){ $assunto = $_POST['assunto']; }else{ $assunto = 'Formulario de E-mail'; } $html = '<html> <body>'; for($i=0;$i<count($arraycampos);$i++){ $campo = $arraycampos[$i][1]; if(isset($arraycampos[$i][3]) && isset($arraycampos[$i][3]) == 'file'){ continue; } $html .= '<p>'.$arraycampos[$i][0].': '.(isset($_POST[$campo])&& $_POST[$campo]!=$arraycampos[$i][2]?$_POST[$campo]:'').' </p>'; } require_once('setmail.php'); $mail->ClearAddresses(); //LISTA DE ENDERECOS QUE DEVE SER MANDADO O E-MAIL /*Nome da pessoa que enviou a mensagem, por padrao o nome informado no formulario*/ $mail->FromName = $nome; /*Responder para, por padrao o e-mail informado no formulario*/ $mail->AddReplyTo($email); $mail->AddAddress($email_do_seu_site,'Formulario de E-mail Seu Site'); $mail->AddAddress($email,$nome); /*Se alterar o nome do campo file, mude o nome da varival anexo*/ $nome_anexo = 'anexo'; if (isset($_FILES[$nome_anexo]) && $_FILES[$nome_anexo]['error'] == UPLOAD_ERR_OK) { $mail->AddAttachment($_FILES[$nome_anexo]['tmp_name'], $_FILES[$nome_anexo]['name']); $html .= '<p>E-mail com anexo.</p>'; } $mail->Subject = $assunto; $html .= '<p>Recebemos seu contato e em breve estaremos respondendo.</p></body> </html>'; $msg = utf8_decode($html); $mail->Body = $msg; //ENVIANDO E RETORNANDO STATUS DO ENVIO if(!$mail->Send()){ //ERRO NO ENVIO $aviso = array("Ocorreu um erro no envio do e-mail: '.$email.'. Erro: ".$mail->ErrorInfo,0); //FUNCAO INFORMA O ERRO OCORRIDO // }else{ $aviso = array('E-mail '.$email.' Enviado com sucesso para o Site',1); } setmail.php <?php /*Inclue a Classe phpmailer e a instancia*/ require_once("phpmailer/class.phpmailer.php"); $mail = new PHPMailer(); /*Envia utilizando SMTP (maioria dos provedores)*/ $mail->IsSMTP(); /*Endereço do Host SMTP, configurado o do gmail*/ $mail->Host = "smtp.******.com"; /*Número da porta do servidor de e-mail, configurado a do gmail*/ $mail->Port = 587; /*Define a Autenticação como necessária, configurado pelo gmail*/ $mail->SMTPAuth = true; /*Define o tipo de segurança usada, configurado pelo gmail*/ $mail->SMTPSecure = ""; /*Define o nome do seu usuário de e-mail, configurado pelo gmail*/ $mail->Username = $email_do_seu_site; /*Define a senha para acessar o e-mail*/ $mail->Password = $senha_do_seu_email; /*Adiciona o From e-mail, de onde o e-mail foi enviado, *por padrão utilize o seu e-mail, o mesmo em $mail->Username **/ $mail->From = $email_do_seu_site; /*DEFININDO A LINGUAGEM*/ $mail->SetLanguage("br", "phpmailer/language/"); /*Define a quebra de linha após 50 caracteres*/ $mail->WordWrap = 50; /*Define que a mensagem é do tipo HTML*/ $mail->IsHTML(true); ?>
  8. juninhogpe

    Formulário de e-mail com anexo

    Boa noite. Pessoal, tenho o formulário abaixo: <?php //Pega os dados postados pelo formulário HTML e os coloca em variaveis if (preg_match('/site.com.br$/', $_SERVER[HTTP_HOST])) { //substitua na linha acima a aprte locaweb.com.br por seu domínio. $email_from='email@site.com.br'; // Substitua essa linha pelo seu e-mail@seudominio }else { $email_from = "contato@" . $_SERVER[HTTP_HOST]; // Na linha acima estamos forçando que o remetente seja 'webmaster@', // você pode alterar para que o remetente seja, por exemplo, 'contato@'. } if( PATH_SEPARATOR ==';'){ $quebra_linha="\r\n"; } elseif (PATH_SEPARATOR==':'){ $quebra_linha="\n"; } elseif ( PATH_SEPARATOR!=';' and PATH_SEPARATOR!=':' ) {echo ('Esse script não funcionará corretamente neste servidor, a função PATH_SEPARATOR não retornou o parâmetro esperado.'); } //pego os dados enviados pelo formulário $sistema = $_POST["sistema"]; $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $estado = $_POST["estado"]; $cidade = $_POST["cidade"]; $email = $_POST["email"]; $residencial = $_POST["residencial"]; $comercial = $_POST["comercial"]; $celular = $_POST["celular"]; $tipo_estabelecimento = $_POST["tipo_estabelecimento"]; $comentarios = $_POST["comentarios"]; $email = 'email@sitecom.br'; $assunto = 'Orçamento'; //formato o campo da mensagem $mensagem = wordwrap( $mensagem, 50, "<br>", 1); //valido os emails if (!preg_match("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$^", $email)){ echo"<center>Digite um email válido</center>"; echo "<center><a href=\"javascript:history.go(-1)\">Voltar</center></a>"; exit; } $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; $mens .= "Content-Type: text/html; charset=\"utf-8\"" . $quebra_linha . "" . $quebra_linha . ""; $mens .= "Tipo de sistema: $sistema" . $quebra_linha . ""; $mens .= "<br>Nome: $nome" . $quebra_linha . ""; $mens .= "<br>Endereço: $endereco" . $quebra_linha . ""; $mens .= "<br>Estado: $estado" . $quebra_linha . ""; $mens .= "<br>Cidade: $cidade" . $quebra_linha . ""; $mens .= "<br>E-mail: $email" . $quebra_linha . ""; $mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . ""; $mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . ""; $mens .= "<br>Telefone Celular: $celular" . $quebra_linha . ""; $mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . ""; $mens .= "<br>Comentários: $comentarios" . $quebra_linha . ""; $mens .= "$mensagem" . $quebra_linha . ""; $mens .= "--$boundary" . $quebra_linha . ""; $mens .= "Content-Type: ".$arquivo["type"]."" . $quebra_linha . ""; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; $mens .= "$anexo" . $quebra_linha . ""; $mens .= "--$boundary--" . $quebra_linha . ""; $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; $headers .= "$boundary" . $quebra_linha . ""; //envio o email com o anexo mail($email,$assunto,$mens,$headers, "-r".$email_from); //echo"Email enviado com Sucesso!"; header('Location: orcamento_enviado.php'); } //se nao tiver anexo else{ $mens .= "Tipo de sistema: $sistema" . $quebra_linha . ""; $mens .= "<br>Nome: $nome" . $quebra_linha . ""; $mens .= "<br>Endereço: $endereco" . $quebra_linha . ""; $mens .= "<br>Estado: $estado" . $quebra_linha . ""; $mens .= "<br>Cidade: $cidade" . $quebra_linha . ""; $mens .= "<br>E-mail: $email" . $quebra_linha . ""; $mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . ""; $mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . ""; $mens .= "<br>Telefone Celular: $celular" . $quebra_linha . ""; $mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . ""; $mens .= "<br>Comentários: $comentarios" . $quebra_linha . ""; $mens .= "$mensagem" . $quebra_linha . ""; $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "Content-type: text/html; charset=utf-8" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; //envia o email sem anexo mail($email,$assunto,$mens,$headers, "-r".$email_from); //echo"Email enviado com Sucesso!"; header('Location: orcamento_enviado.php'); } ?> O mesmo está funcionando corretamente, a questão é que quando envio e-mail com anexo a acentuação vem toda errada. O que vocês acham que posso fazer para corrigir? Agradeço desde já.
  9. juninhogpe

    Formulário de Contato com Anexo (Dúvida)

    Bom dia. Pessoal encontrei um script na internet para criar um formulário de contato/pedido de orçamento com possibilidade de envio de anexo. Consegui executar o script normalmente. O meu problema é que quando não tenho anexo o formulário chega em branco no e-mail, ou seja, mesmo preenchendo todos os campos e não colocando anexo chega todo em branco e se colocar o anexo chega correto. Abaixo segue o script: <?php //Pega os dados postados pelo formulário HTML e os coloca em variaveis if (preg_match('/criativaguaxupe.com.br$/', $_SERVER[HTTP_HOST])) { //substitua na linha acima a aprte locaweb.com.br por seu domínio. $email_from='email@email.com'; // Substitua essa linha pelo seu e-mail@seudominio }else { $email_from = "contato@" . $_SERVER[HTTP_HOST]; // Na linha acima estamos forçando que o remetente seja 'webmaster@', // você pode alterar para que o remetente seja, por exemplo, 'contato@'. } if( PATH_SEPARATOR ==';'){ $quebra_linha="\r\n"; } elseif (PATH_SEPARATOR==':'){ $quebra_linha="\n"; } elseif ( PATH_SEPARATOR!=';' and PATH_SEPARATOR!=':' ) {echo ('Esse script não funcionará corretamente neste servidor, a função PATH_SEPARATOR não retornou o parâmetro esperado.'); } //pego os dados enviados pelo formulário $sistema = $_POST["sistema"]; $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $estado = $_POST["estado"]; $cidade = $_POST["cidade"]; $email = $_POST["email"]; $residencial = $_POST["residencial"]; $comercial = $_POST["comercial"]; $celular = $_POST["celular"]; $tipo_estabelecimento = $_POST["tipo_estabelecimento"]; $comentarios = $_POST["comentarios"]; $email = 'email@email.com'; //formato o campo da mensagem $mensagem = wordwrap( $mensagem, 50, "<br>", 1); //valido os emails if (!preg_match("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$^", $email)){ echo"<center>Digite um email valido</center>"; echo "<center><a href=\"javascript:history.go(-1)\">Voltar</center></a>"; exit; } $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"" . $quebra_linha . "" . $quebra_linha . ""; //plain $mens .= "Tipo de sistema: $sistema" . $quebra_linha . ""; $mens .= "<br>Nome: $nome" . $quebra_linha . ""; $mens .= "<br>Endereço: $endereco" . $quebra_linha . ""; $mens .= "<br>Estado: $estado" . $quebra_linha . ""; $mens .= "<br>Cidade: $cidade" . $quebra_linha . ""; $mens .= "<br>E-mail: $email" . $quebra_linha . ""; $mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . ""; $mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . ""; $mens .= "<br>Telefone Celular: $celular" . $quebra_linha . ""; $mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . ""; $mens .= "<br>Comentários: $comentarios" . $quebra_linha . ""; $mens .= "$mensagem" . $quebra_linha . ""; $mens .= "--$boundary" . $quebra_linha . ""; $mens .= "Content-Type: ".$arquivo["type"]."" . $quebra_linha . ""; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; $mens .= "$anexo" . $quebra_linha . ""; $mens .= "--$boundary--" . $quebra_linha . ""; $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; $headers .= "$boundary" . $quebra_linha . ""; //envio o email com o anexo mail($email,$assunto,$mens,$headers, "-r".$email_from); echo"Email enviado com Sucesso!"; } //se nao tiver anexo else{ $headers = "MIME-Version: 1.0" . $quebra_linha . ""; $headers .= "Content-type: text/html; charset=iso-8859-1" . $quebra_linha . ""; $headers .= "From: $email_from " . $quebra_linha . ""; $headers .= "Return-Path: $email_from " . $quebra_linha . ""; //envia o email sem anexo mail($email,$assunto,$mensagem, $headers, "-r".$email_from); echo"Email enviado com Sucesso!"; } ?> Agradeço desde já a ajuda de todos. Obrigado.
  10. Enviar email com 1 ou mais anexos (somente imagens) através de formulario php Fala galera! Estou com um problema que pra mim é está sendo bem difícil resolver, mas pra vocês creio que seja uma coisa simples. Não tenho muito conhecimento em php, estou aprendendo agora, então como precisei deste código, peguei na web e não sei fazer a alteração que preciso. O formulário está enviando as informações (textos) certinho. Só o anexo que não está indo. Como vocês podem ver abaixo, ele tem uma condição (se posso chamar assim) se tiver um anexo ele da a mensagem "Cadastrado com anexo" se não "Cadastrado sem anexo". Porém, com ou sem anexo, ele está dando a "Cadastrado sem anexo" eu preciso que ele envie o anexo também, no html coloquei 6 campos input file, pra enviar até 6 fotos. Agradeço a atenção. <?php if ($_GET['acao'] == 'enviar') { //pego os dados enviados pelo formulario $titulo = $_POST["titulo"]; $email = 'contato@agturbox.com.br'; $site = $_POST["site"]; $descricao = $_POST["descricao"]; $telefone = $_POST["telefone"]; $celular = $_POST["celular"]; $endereco = $_SESSION["endereco"]; $bairro = $_POST["bairro"]; $cidade = $_POST["cidade"]; $assunto = 'Cadastro de anuncio'; $data = date("d/m/y"); $ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do us //formato o campo da mensagem $mensagem .= "<b>Titulo:</b> $titulo <br>"; $mensagem .= "<b>Site:</b> $site <br>"; $mensagem = "<b>Descricao:</b> $descricao <br>"; $mensagem .= "<b>Telefone:</b> $telefone <br>"; $mensagem .= "<b>Celular:</b> $celular <br>"; $mensagem .= "<b>Endereco:</b> $endereco <br>"; $mensagem .= "<b>Bairro:</b> $bairro <br>"; $mensagem .= "<b>Cidade:</b> $cidade <br><br>"; $mensagem .= "<b>Data:</b> $data <br>"; $mensagem .= "<b>Ip:</b> $ip <br>"; //valido os emails $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $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"; //plain $mens .= "$mensagem\n"; $mens .= "--$boundary\n"; $mens .= "Content-Type: ".$arquivo["type"]."\n"; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; $mens .= "Content-Transfer-Encoding: base64\n\n"; $mens .= "$anexo\n"; $mens .= "--$boundary--\r\n"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: \"$titulo\" <$endereco>\r\n"; $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers .= "$boundary\n"; //envio o email com o anexo mail($email,$assunto,$arquivo,$mens,$headers);?><script language="javascript">alert("Cadastrado com anexo!"); location ="cadastro.php";</script> <?php } //se não tiver anexo else{ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: \"$nome\" <$endereco>\r\n"; //envia o email sem anexo mail($email,$assunto,$mensagem, $headers);?><script language="javascript">alert("Cadastrado sem anexo!"); location ="cadastro.php";</script> <?php } } ?>
  11. FantasyDramatic

    formulário com anexo

    Pessoal, Utilizando como base o código da Wiki da Locaweb, adaptei para utilizar em meu site o código abaixo. Quando envio os dados recebo a mensagem de dados enviados com sucesso, porém não recebo o email. Será que alguém consegue me ajudar a encontrar o erro? :( Estou ficando desesperada rsrs Segue abaixo meu código PHP. <?php /* Medida preventiva para evitar que outros domínios sejam remetente da sua mensagem. */ if (eregi('tempsite.ws$|locaweb.com.br$|hospedagemdesites.ws$|websiteseguro.com$|publiccloud.com.br$', $_SERVER[HTTP_HOST])) { $emailsender='alinemonteiro@networkpesquisa.com.br'; // Substitua essa linha pelo seu e-mail@seudominio } /* Verifica qual é o sistema operacional do servidor para ajustar o cabeçalho de forma correta. */ if(PATH_SEPARATOR == ";") $quebra_linha = "\r\n"; //Se for Windows else $quebra_linha = "\n"; //Se "não for Windows" // Passando os dados obtidos pelo formulário para as variáveis abaixo $contactName = $_POST['contactName']; $contactEmail = $_POST['contactEmail']; $contactSubject = "Currículo"; $contactMessage = $_POST['contactMessage']; $arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); $anexo = base64_encode($anexo); fclose($fp); $anexo = chunk_split($anexo); $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $mens = "--$boundary" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"" . $quebra_linha . "" . $quebra_linha . ""; //plain $mens .= "$mensagem" . $quebra_linha . ""; $mens .= "--$boundary" . $quebra_linha . ""; $mens .= "Content-Type: ".$arquivo["type"]."" . $quebra_linha . ""; $mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"" . $quebra_linha . ""; $mens .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; $mens .= "$anexo" . $quebra_linha . ""; $mens .= "--$boundary--" . $quebra_linha . ""; /* Montando a mensagem a ser enviada no corpo do e-mail. */ $mensagemHTML = '<div style="font-family: Arial; font-size: 12px; color: #0e0c49;"> <P><i>Esta é uma mensagem enviada através do site da Network.</i></P> <hr> <P><b>Nome do Remetente: </b></P> <p style="padding-left: 20px; padding-right: 150px;">'.$contactName.'</p> <P><b>E-mail: </b></P> <p style="padding-left: 20px; padding-right: 150px;">'.$contactEmail.'</p> <P><b>Assunto: </b></P> <p style="padding-left: 20px; padding-right: 150px;">Currículo</p> <P><b>Mensagem: </b></P> <p style="padding-left: 20px; padding-right: 150px;">'.$contactMessage.'</p> <hr></div>'; /* Montando o cabeçalho da mensagem */ $headers = "MIME-Version: 1.0" .$quebra_linha; $headers .= "Content-type: text/html; charset=utf-8;" .$quebra_linha; // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada. $headers .= "From: " . $emailsender.$quebra_linha; $headers .= "Reply-To: " . $contactEmail.$quebra_linha; // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) $headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; $headers .= "$boundary" . $quebra_linha . ""; /* Enviando a mensagem */ //É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb: if(!mail($emailsender, $contactSubject, $mens, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix" mail($emailsender, $contactSubject, $mens, $mensagemHTML, $headers );} { echo "<script>window.location.href='http://www.networkpesquisa.com.br/msgenviada.html'</script>"; } } //se nao tiver anexo else { /* Montando o cabeçalho da mensagem */ $headers = "MIME-Version: 1.0" .$quebra_linha; $headers .= "Content-type: text/html; charset=utf-8;" .$quebra_linha; // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada. $headers .= "From: " . $emailsender.$quebra_linha; $headers .= "Reply-To: " . $contactEmail.$quebra_linha; // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) /* Enviando a mensagem */ //É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb: if(!mail($emailsender, $contactSubject, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix" mail($emailsender, $contactSubject, $mensagemHTML, $headers ); } { echo "<script>window.location.href='http://www.networkpesquisa.com.br/msgenviada.html'</script>"; } } ?> E meu código HTML. <!DOCTYPE html> <!--[if lt IE 8 ]><html class="ie ie7" lang="en"> <![endif]--> <!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]--> <!--[if (gte IE 8)|!(IE)]><!--><html lang="en"> <!--<![endif]--> <head> <!--- Basic Page Needs ================================================== --> <meta charset="utf-8"> <title>Network Pesquisas de Mercado</title> <meta name="description" content=""> <meta name="author" content=""> <!--- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-63303083-1', 'auto'); ga('send', 'pageview'); </script> <!-- Mobile Specific Metas ================================================== --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <!-- CSS ================================================== --> <link rel="stylesheet" href="css/base.css"> <link rel="stylesheet" href="css/layout.css"> <style type="text/css"> .container { background: #fff url(images/patterns/grey.png); padding: 90px 0 102px 0; color: #545454; } .section-head h2 { font: 30px/42px montserrat-bold, sans-serif; } .desc { font: 14px/24px opensans-regular, sans-serif; } </style> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- Favicons ================================================== --> <link rel="shortcut icon" href="favicon.ico"> </head> <body data-spy="scroll" data-target="#nav-wrap"> <!-- Container ================================================== --> <section class="container"> <div class="row add-bottom"> <br><h2>Envie seu currículo!</h2><br><br> <body onLoad="document.email.nome.focus();"> <form onsubmit="return checa_formulario(this)" action="envia_anexo.php" method="post" enctype="multipart/form-data" name="email"> <label for="contactName">Nome</label> <input name="contactName" type="text" id="contactName"> <label for="contactEmail">Email de contato</label> <input name="contactEmail" type="text" class="contactEmail"> <label for="contactMessage">Mensagem</label> <input name="contactMessage" type="text" class="contactMessage"> <label for="arquivo">Envie seu currículo <span style="font-color: #838383;">(de preferência em PDF)</span></label> <input name="arquivo" type="file"></td> <br><br><br> <input type="submit" name="Submit" value="Enviar"> </form> </body> </div> </section> <!-- Container End --> </body> </html>
  12. Boa tarde galera... estou tentando criar uma aplicação de envio de mensagem com anexo usando a função do php Mail(). Até ai de boa... Resolvi fazer algo para redimensionar os anexos, visando que meus usuarios serão em sua grande maioria mobile. Com um pouco de pesquisa, consegui um tutorial com funções em javascript que faz isso de boa. Essa parte tbem esta funfando conforme a ideia... redimensionando as imagens e salvando em uma pasta do meu host... agora a duvida éh... como faço para buscar os arquivos que estão em um diretorio do meu host, e anexa-las nesse email???
×

Informação importante

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