我有以下 html 和 php 文件可以通过电子邮件发送文件,提交表单后,我被重定向到成功页面,但我的收件箱中没有收到电子邮件。 我需要将输入文件作为电子邮件的附件发送...此代码是否可以执行此操作? 如果这不起作用,我愿意接受有关在网站上通过电子邮件发送文件的在线建议。 我对 php 不是很熟悉,这就是为什么我这么挣扎:(
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;
}
?>