Я разрабатываю проект «отправить электронную почту».long name вложения по почте на php
У меня есть мой formulario.html
, здесь я имею свою форму (имя, адрес, сообщения и вложения ...) и у меня есть enviar.php
, где у меня есть все рабочий код.
Письмо отправляется !! Но моя проблема заключается в следующем: Файл прикрепления показало длинным именем, а не как файл ...
Если я отправить изображение, я вижу что-то вроде ASDF345Fw45yHSDF456HG...
и много букв и цифр ...
Зв .. Любая идея о том, что я могу сделать? Это мой код:
//formulario.html
<form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>E-mail
<input type='text' name='email' id='email'>
</p>
<p>Asunto
<input type='text' name='asunto' id='asunto' />
</p>
<p>Mensaje
<textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
</p>
<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar'>
</p>
</form>
//enviar.php
<?php
$sPara=$_POST['email'];
$sTexto=$_POST['mensaje'];
$sAsunto=$_POST['asunto'];
$sDe='[email protected]';
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
if ($sDe) $sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "---CABECERA";
$sCabeceras .= "MIME-version: 1.0n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."n".$sNombre." = ".$sValor;
foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary='--_Separador-de-mensajes_--'\n";
$sCabeceraTexto = "----_Separador-de-mensajes_--n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BITn";
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto['type'].";name=".$vAdjunto['name']."n";
$sAdjuntos .= "Content-Transfer-Encoding: BASE64n";
$sAdjuntos .= "Content-disposition: attachment;filename=".$vAdjunto["name"]."nn";
$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}
if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}
//cambiar aqui el email
if (form_mail("[email protected]", $sAsunto,
"Los datos introducidos en el formulario son:", $_POST['email']))
echo ''.$sPara;
echo "Su formulario ha sido enviado con exito";
?>
Спасибо @ Антоан Мильков, я попробую! – Jean