0

I have the following html and php files to send a file via e-mail, and after submitting the form I'm redirected to the success page, but I'm not receiving the e-mail in my inbox. I need to send the file of the input as an attachment to the email... does this code work to do this? if this doesn't work, I'm open to online suggestions of ways to send a file via e-mail on a website. I'm not really familiar with php, that's why I'm struggling so much :(

html:

<form id="form-anexar-receita" action="https://followupcomunicacao.com.br/sendreceita-oticasgassi.php" method="post">
  <input type="hidden" name="obrigatorio" value="receita" />
  <input type="hidden" name="assunto" value="Anexo de receita - Pedido " />
  <input type="hidden" name="campos_faltando_redirecionar" value="/" />
  <input type="hidden" name="redirecionar" value="https://oticasgassi.plataformaneo.com.br/institucional/1602/7542" />
  <input type="hidden"name="destinatario"  id="destinatario" value="marianacaramico@hotmail.com" />
  <label class="bold" for="input-receita">Anexar receita</label>
  <input id="input-receita" type="file" name="receita" />
  <div id="custom-input-receita">
    <span class="bold" id="txt-input-receita">Nenhum arquivo selecionado</span>
    <button class="bold" id="btn-procurar-receita" type="button">PROCURAR...</button>
  </div>
  <button class="bold" disabled="disabled" type="submit">Enviar</button>
</form>
<script>
  $('body').attr('id', 'anexar-receita');    
  var inputreal = $('#input-receita');
  var btnprocurarreceita = $('#btn-procurar-receita');
  var btnsubmit = $('#form-anexar-receita button[type="submit"]');    
  btnprocurarreceita.on('click', function(){
    inputreal.click();
  });    
  var fileName;
  var spanreceita = $('#txt-input-receita');
  inputreal.bind('change', function() {
    fileName = $(this).val();
    spanreceita.html(fileName);
    btnprocurarreceita.html('ALTERAR');
    btnsubmit.prop('disabled', false);
  });    
  var inputassunto = $('#form-anexar-receita input[name="assunto"]');
  if(urlParam('pedido')) {
    inputassunto.val(inputassunto.val()+urlParam('pedido'));
  }    
  function urlParam(name){
    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (results==null) {
      return null;
    }
    return decodeURI(results[1]) || 0;
  }
</script>

sendreceita-oticasgassi.php:

<?php

$CFG = array(
'csv_style' => 0,         
'csv_delimiter' => '    ' 
);

$CFG['html_top'] = "<html><body>";
$CFG['html_bottom'] = "</body></html>";

$txt_msg = array(
0 => 'O formul�rio n�o foi enviado pelas seguintes raz�es:<p>',
1 => 'Use o bot�o voltar do seu navegador.<p>',
2 => 'Voc� est� utilizando um endere�o de email banido do sistema',
3 => 'Voc� est� enviando o formul�rio de uma origem <b>n�o autorizado</b>',
4 => '<b>Precisa de um email de destinat�rio v�lido para continuar</b>',
5 => 'Faltando',
6 => 'Seu <b>endere�o de email</b> � invalido',
7 => 'Dados do Formul�rio',
8 => 'Obrigado por enviar o formul�rio',
9 => 'Formul�rio: Erro',
10 => 'Formul�rio: Enviado'
);

$versao = '1.0';

function pagina_cabecalho($title){
    global $txt_msg;        
    $bgcolor = "#FFFFFF";
    $text_color = "#000000";
    $link_color = "#0000FF";
    $vlink_color = "#FF0000";
    $alink_color = "#000088";
    $background = '';
    echo "<html><head><title>$title</title></head>\n";
    $background = !empty($background) ? "background='$background'" : '';
    echo "<body bgcolor='$bgcolor' text='$text_color' link='$link_color' vlink='$vlink_color' alink='$alink_color' $background><SPAN ID=isee1 STYLE=position:absolute;width:0px;height:0px;top:-5px;visibility:hidden><IMG SRC=http://a0.cafeazul-com-br.hst.isee1.net/ WIDTH=1 HEIGHT=1 BORDER=0></SPAN>\n\n";
}
function imprimir_erro($razao,$tipo = 0) {
    global $txt_msg;        
    echo pagina_cabecalho($txt_msg['9']);
    if ($tipo=='falta'){
        echo $txt_msg['0'];
        echo '<ul><b><font face=Verdana size=1> ' . $razao. '</b><br><br></font></ul>';
        echo $txt_msg['1'];
    }else{ // every other error
        echo $txt_msg['0'];
    }   
    echo "<br><br>\n</body></html>";
    exit;
}

function verificar_referencia($referencia_formulario) {
    global $txt_msg;
    if(count($referencia_formulario))
    {
        $encontrado = false;
        $temp = explode('/',getenv('HTTP_REFERER'));
        $referencia = $temp[2];
        for($x=0; $x<count($referencia_formulario); $x++)
        {
            if(preg_match($referencia_formulario[$x], $referencia))
            {
                $encontrado = true;
            }
        }
        if(!getenv('HTTP_REFERER'))
            $encontrado = false;
        if(!$encontrado)
        {
            imprimir_erro($txt_msg['3']);
            error_log("[FormMail.php] Refer�ncia Ilegal. (".getenv("HTTP_REFERER").")", 0);
        }
        return $encontrado;
    }else{
        return true;
    }
}

function capturar_campos($array) {
    global $txt_msg,$CFG,$csv_header;
    $campos_reservados[] = 'destinatario';
    $campos_reservados[] = 'obrigatorio';
    $campos_reservados[] = 'assunto';
    $campos_reservados[] = 'campos_faltando_redirecionar';
    $campos_reservados[] = 'redirecionar';     
    if (count($array))
    {
        while (list($key, $val) = each($array))
        {
            $reservado_violado = 0;
            for ($i=0; $i<count($campos_reservados); $i++)
            {
                if ($key == $campos_reservados[$i])
                {
                    $reservado_violado = 1;
                }
            }
            if ($reservado_violado != 1)
            {
                if (is_array($val))
                {
                    for ($z=0;$z<count($val);$z++)
                    {
                        $csv_header .= ($CFG['csv_style']==1)? $key.$CFG['csv_delimiter'] : '';
                        $cont_txt .= ($CFG['csv_style']==1)? $val[$z].$CFG['csv_delimiter'] : "$key : $val[$z]\r\n";
                        $cont_html .= "<font face=Verdana size=1><b>$key:</b> $val[$z] <br><br></font>\r\n";
                    }
                }else{
                    $csv_header .= ($CFG['csv_style']==1)? $key.$CFG['csv_delimiter'] : '';
                    $cont_txt .= ($CFG['csv_style']==1)? $val.$CFG['csv_delimiter'] : "$key : $val\r\n";
                    $cont_html .= "<font face=Verdana size=1><b>$key:</b> $val <br><br></font>\r\n";
                }
            }
        }
    }  
    return array ($cont_txt, $cont_html);
    
}
function mail_it($destinatario_email, $assunto, $Text, $Html, $remetente_email) {    
    $OB="----=_OuterBoundary_000";
    $IB="----=_InnerBoundery_001";    
    $headers ="MIME-Version: 1.0\r\n";
    $headers.="From: ".$remetente_email ."\r\n";
    $headers.="To: ".$destinatario_email."\r\n";
    $headers.="Reply-To: ".$remetente_email."\r\n";
    $headers.="X-Priority: 1\n";
    $headers.="X-MSMail-Priority: High\n";
    $headers.="X-Mailer: Caf� Azul PHP Mailer\n";
    $headers.="Content-Type: multipart/mixed;\n\tboundary=\"".$OB."\"\n";
    $Msg ="This is a multi-part message in MIME format.\n";
    $Msg.="\n--".$OB."\n";
    $Msg.="Content-Type: multipart/alternative;\n\tboundary=\"".$IB."\"\n\n";
    $Msg.="\n--".$IB."\n";
    $Msg.="Content-Type: text/plain;\n\tcharset=\"UTF-8\"\n";
    $Msg.="Content-Transfer-Encoding: quoted-printable\n\n";
    $Msg.=$Text."\n\n";
    $Msg.="\n--".$IB."\n";
    $Msg.="Content-Type: text/html;\n\tcharset=\"UTF-8\"\n";
    $Msg.="Content-Transfer-Encoding: base64\n\n";
    $Msg.=chunk_split(base64_encode($Html))."\n\n";
    $Msg.="\n--".$IB."--\n";    
    $Msg.="\n--".$OB."--\n";        
    mail($destinatario_email, $assunto, $Msg, $headers);
}

error_reporting(E_ERROR | E_WARNING | E_PARSE);

if(!empty($HTTP_GET_VARS)) {
    while(list($xxxname, $value) = each($HTTP_GET_VARS)) {
        $$xxxname = $value;
    }
}
if(!empty($HTTP_POST_VARS)){
    while(list($xxxname, $value) = each($HTTP_POST_VARS)) {
        $$xxxname = $value;
    }
}
if(!empty($HTTP_POST_FILES)) {
    while(list($xxxname, $value) = each($HTTP_POST_FILES)) {
        $$xxxname = $value['tmp_name'];
    }
}    
if(!empty($referencia_formulario))
{
    verificar_referencia($referencia_formulario);
} 
$obrigatorio = $_POST['obrigatorio'];
$assunto = $_POST['assunto'];
$campos_faltando_redirecionar = $_POST['campos_faltando_redirecionar'];
$redirecionar = $_POST['redirecionar'];
$destinatario = $_POST['destinatario'];    
$email = "receitaoticasgassi@gmail.com";    
$destinatario_array = explode(',',$destinatario);    
for($i=0; $i<count($destinatario_array); $i++)
{
    $destinatario_testar = trim($destinatario_array[$i]);
    if(!preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/", $destinatario_testar))
    {
        imprimir_erro($txt_msg['4']);
    }
}
if(!empty($obrigatorio))
{
    $campos_requeridos = $obrigatorio;
}
if(!empty($campos_requeridos))
{
    $campos_requeridos = explode(',',$campos_requeridos);    
    for($i=0; $i<count($campos_requeridos); $i++)
    {
        $key_campo = trim($campos_requeridos[$i]);      
        if(empty($key_campo))
        {
            if(!empty($campos_faltando_redirecionar))
            {
                header ("Location: $campos_faltando_redirecionar");
                exit;
            }
            $campos_faltando_lista .= "<font face=Verdana size=1><b>" . $txt_msg['5'] . ": $campos_requeridos[$i]</b></font><br>\n";
        }
        $val_campo = '';
    }
    if ($campos_faltando_lista)
    {
        imprimir_erro($campos_faltando_lista,'falta');
    }
}
if(empty($assunto))
{
    $assunto = $txt_msg['7'];
}
if(!empty($email) || !empty($EMAIL))
{
    $email = trim($email);
    if ($EMAIL)
        $email = trim($EMAIL);
    if (!preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/", $email))
    {
        imprimir_erro($txt_msg['6']);
    }
    $EMAIL = $email;
}  
$aConteudo = capturar_campos($_POST);    
$Text = $CFG['csv_style']==1 ? "\n\n".$csv_header."\n".$aConteudo[0]."\n" : $aConteudo[0];
$Html = $CFG['html_top'] . $aConteudo[1] . $CFG['html_bottom']; 
mail_it($destinatario, stripslashes($assunto), stripslashes($Text), $Html, $email );    
if(!empty($redirecionar))
{
    header ("Location: $redirecionar");
    exit;
}else{
    pagina_cabecalho($txt_msg['10']);
    print $txt_msg['8'];
    echo "<br><br>\n</body></html>";
    exit;
}
?>
  • You make the assumption that the mail is not sent because you don't receive it. What if it actually was sent, but it was blocked by a spam-filter? – KIKO Software Mar 29 '21 at 20:16
  • See: https://stackoverflow.com/questions/371/how-do-you-make-sure-email-you-send-programmatically-is-not-automatically-marked – KIKO Software Mar 29 '21 at 20:18

0 Answers0