Ir para conteúdo

Arquivado

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

fabiobmoraes

falha no função mail()

Recommended Posts

Srs. Ajuda pf.

Já quebrei a cabeça mas não resolvi...

Script

******************

<?php

$SenderAddress = "test@test.com";

define('OCU_RELEASE', '1.1');
define('OCU_ERR', !empty($_GET['err']));

if (OCU_ERR) {
    error_reporting(E_ALL);
    ini_set('display_errors', 'On');
}
else {
    error_reporting(0);
}

if (basename(__FILE__) == '1cu.php') {
    die('For your safety: you should really change the name of this file');
}

if (!empty($_GET['test'])) {
    die("OK: ".OCU_RELEASE);
}

if (empty($_GET['l']) && empty($_GET['e'])) {
    die("OK");
}

$l = isset($_GET['l']) ? $_GET['l'] : '';
$e = isset($_GET['e']) ? $_GET['e'] : '';
$m = isset($_GET['m']) ? $_GET['m'] : '';

$l = OCU_Unencode($l);
$e = OCU_Unencode($e);

$to      = $l;
$subject = "Unsubscribe";
$message = "Unsubscribe $e";
$from     = $e;
if ($SenderAddress != 'test'.'@'.'test'.'.com') {
    $from = $SenderAddress;
}

switch ($mode) {
    case "1":
        $headers = "X-UserMail: $e";
        break;
    case "2":
        $headers = "From: $from";
        break;
    default:
        $headers = "From: $from" . "\r\n" . "X-UserMail: $e";
}

if (mail($to, $subject, $message, $headers)) {
    Header("Location: removal.htm");
} else {
    die("There was an error processing your request; please manually send an email to $l with Unsubscribe as its subject");
}

exit;

function OCU_Unencode($data) {
    return base64_decode(strtr($data, '-_', '+/'));
}
?>

***************************

Não envia de maneira nenhuma.

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • 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 Gustavo2503
      Quando eu abro o email no Gmail, vai em formato de HTML, mas no Outlook fica todo zuado, o código está assim:
      $email_enviar = "Nome <email@exemplo.com>"; $email_para = "Nome <email@exemplo.com>"; $cabecalho = 'MIME-Version: 1.0' . "\r\n"; $cabecalho.= 'Content-type: text/html; charset=UTF-8;' . "\r\n"; $cabecalho.= "Return-Path: $email_enviar \r\n"; $cabecalho.= "From: $email_enviar \r\n"; $cabecalho.= "Reply-To: $email_enviar \r\n"; $assunto = "Assunto"; $menssagem = " <!doctype html> <html lang='pt-br'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Título</title> <style type='text/css'> </head> <body> <div align='center'> <h1>Título</h1> </div> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eget commodo tortor, eget tincidunt urna. Aliquam odio elit, tristique ac nisl vel, fermentum porta elit. Suspendisse urna magna, maximus et ipsum quis, rutrum tristique sem. Curabitur faucibus nulla malesuada dolor venenatis pharetra. Curabitur ac massa placerat, viverra nibh id, volutpat nibh. Vestibulum leo purus, placerat vel lorem eu, rhoncus lacinia erat. Morbi venenatis fermentum pretium.</p> </body> </html> "; if (mail($email_para, $assunto, $mensagem, $cabecalho)){ echo 'Sucesso'; } else { echo 'Erro'; }  
    • Por Blastouch
      Olá! Saudações a todos...
       
      Pessoal,  estou iniciando minha jornada por caminhos desconhecidos... já garimpei bastante aqui pelo forum para aprender sobre PHP e com as informações que aprendi conseguir montar um pequeno frankestein que aqui vou chamar de formulário...rsrsrs
       
      Ja consegui enviar o Formulário utilizando a biblioteca do PHP da Sendgrid. 
       
      E agora gostaria de voltar a pagina de origem do formulário e apresentar uma mensagem avisando que o formulário foi enviado.
       
      Tentei fazer via script mais consegui apenas enviar o email.
       
      Se alguém puder me auxiliar nessa questão eu agradeço. 
       
      Obrigado!
       
       
      PHP - Envio:
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="utf-8"> </head> <body> <?php $formularSeite = "index.php"; // Personalize o nome do arquivo do formulário // Os dados POST foram enviados? if ($_SERVER["REQUEST_METHOD"] == "POST") { // define o fuso horário e a data atual date_default_timezone_set("America/Sao_Paulo"); $datum = date("d.m.Y H:i"); // remove tags HTML $_POST = array_map('strip_tags', $_POST);      // definir conteúdo do e-mail $inhaltEmail = "Enviada em: $datum hr Nome: " . $_POST["name"] . " E-Mail: " . $_POST["email"] . " Telefone: " . $_POST["phone"] . "   Mensagem: " . $_POST["message"] . "   ";           // usando a biblioteca PHP do SendGrid require 'vendor/autoload.php'; // configuração de instância e codificação de caracteres    $mail->CharSet = "UTF-8"; $from = new SendGrid\Email(null, "suporte@dimpow.com.br"); $subject = "Mensagem de Contato"; $to = new SendGrid\Email(null, "feradams@gmail.com"); $content = new SendGrid\Content("text/html", "Ola, Reinaldo <br><br> Nova Mensagem de Contato do Site<br><br>$inhaltEmail"); $mail = new SendGrid\Mail($from, $subject, $to, $content); $apiKey = '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'; $sg = new \SendGrid($apiKey); $response = $sg->client->mail()->send()->post($mail);        // envie e-mail  if ($mail->Send()) {   header("Location: " . $formularSeite . '?status=OK#form1-x');  }  else {   header("Location: " . $formularSeite . '?status=KO#form1-x');  } } ?> </body> </html> Formulário:
      <form class="mbr-form" action="mailscript.php" method="post"> <div class="row row-sm-offset"> <div class="col-md-4 multi-horizontal" data-for="name"> <div class="form-group"> <label class="form-control-label mbr-fonts-style display-7" for="name-form1-x">Nome</label> <input type="text" class="form-control" name="name" data-form-field="Name" required="" placeholder="Nome" id="name-form1-x"> </div> </div> <div class="col-md-4 multi-horizontal" data-for="email"> <div class="form-group"> <label class="form-control-label mbr-fonts-style display-7" for="email-form1-x">Email</label> <input type="email" class="form-control" name="email" data-form-field="Email" required="" placeholder="Email" id="email-form1-x"> </div> </div> <div class="col-md-4 multi-horizontal" data-for="phone"> <div class="form-group"> <label class="form-control-label mbr-fonts-style display-7" for="phone-form1-x">Celular</label> <input type="tel" class="form-control" name="phone" data-form-field="Phone" placeholder="Telefone" id="phone-form1-x"> </div> </div> </div> <div class="form-group" data-for="message"> <label class="form-control-label mbr-fonts-style display-7" for="message-form1-x">Mensage</label> <textarea type="text" class="form-control" name="message" rows="7" data-form-field="Message" placeholder="Mensagem" id="message-form1-x"></textarea> </div> <span class="input-group-btn"><button href="" type="submit" class="btn btn-primary btn-form display-4">ENVIAR</button></span> </form> script :
       
      <script> window.addEventListener("load", function() { if (window.location.search != "") { var W = window.location.search.split("="); if (W[1] == 'OK') { document.getElementById("status").innerText = 'A mensagem foi enviada com sucesso.'; document.getElementById("status").classList.add("erfolgreich"); } if (W[1] == 'KO') { document.getElementById("status").innerText = 'Infelizmente, ocorreu um erro ao enviar a mensagem!'; document.getElementById("status").classList.add("fehler"); } } }); </script>  
       
    • Por Gabriel_Duarte
      Olá, Estou procurando livros e Informações mais confiáveis e simples de como funciona o Sistema de Email do php. desde como colocar a função mail() no php, ate como configurar dentro do php.in para qualquer email possível (ja pesquisei para o gmail, porem quero para qualquer tipo de email ate emails de servidores exemplo: contato@contato.com).
       
      Fiz uma pesquisa mas achei muita coisa vaga, com variância, então peça ajuda pra quem entende bem sobre esse assunto, ou que sabe aonde posso achar essas informações.
×

Informação importante

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