表单 php 附件 - 指定我想在邮件中显示的信息
form php attachment - specify which info I want to show in mail
我有这段代码,效果很好,但是当我在邮件中发送它时,也会出现我不希望出现的内容,例如:
submit = Enviar
recaptcha_challenge_field =
03AHJ_VuuCrxaVdxnIIg-Us7zrqZBDMBXeOuU21J60IblOCtFTQhMgtx-TsfsY6oHl5xbgdeqIRUQ7bTui
recaptcha_response_field = rsinmBlockquote
所以我想问一下是否有一种方法可以指定我要发送的物品,例如:
$body="Contacto:
Nombre: " .$_POST["nombre"] . "\n
Empresa: " .$_POST["empresa"] . "\n
Ubicacion: " .$_POST["ubicacion"] . "\n
Telefono: " .$_POST["telefono"] . "\n
我不是程序员,所以我不知道如何将它放入实际工作的代码中:
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
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-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
$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\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras, '-faltitux@altitux.mx'));
}
/* enviando correo */
if (form_mail("mymail@mail.com", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
$resultMenuUrlName = "bolsa_gracias.html";
echo "<META HTTP-EQUIV=Refresh CONTENT=0;URL=$resultMenuUrlName>";
} else {
echo "Lo sentimos pero no ha colocado el texto correctamente! Intente nuevamente...";
}
谢谢你的建议,抱歉英语不好
这应该有效:
删除
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;
在同一个地方添加:
$sTexto="Contacto:
Nombre: " .$_POST["nombre"] . "\n
Empresa: " .$_POST["empresa"] . "\n
Ubicacion: " .$_POST["ubicacion"] . "\n
Telefono: " .$_POST["telefono"] . "\n
我有这段代码,效果很好,但是当我在邮件中发送它时,也会出现我不希望出现的内容,例如:
submit = Enviar
recaptcha_challenge_field = 03AHJ_VuuCrxaVdxnIIg-Us7zrqZBDMBXeOuU21J60IblOCtFTQhMgtx-TsfsY6oHl5xbgdeqIRUQ7bTui
recaptcha_response_field = rsinmBlockquote
所以我想问一下是否有一种方法可以指定我要发送的物品,例如:
$body="Contacto:
Nombre: " .$_POST["nombre"] . "\n
Empresa: " .$_POST["empresa"] . "\n
Ubicacion: " .$_POST["ubicacion"] . "\n
Telefono: " .$_POST["telefono"] . "\n
我不是程序员,所以我不知道如何将它放入实际工作的代码中:
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";
if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
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-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
$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\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras, '-faltitux@altitux.mx'));
}
/* enviando correo */
if (form_mail("mymail@mail.com", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
$resultMenuUrlName = "bolsa_gracias.html";
echo "<META HTTP-EQUIV=Refresh CONTENT=0;URL=$resultMenuUrlName>";
} else {
echo "Lo sentimos pero no ha colocado el texto correctamente! Intente nuevamente...";
}
谢谢你的建议,抱歉英语不好
这应该有效:
删除
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;
在同一个地方添加:
$sTexto="Contacto:
Nombre: " .$_POST["nombre"] . "\n
Empresa: " .$_POST["empresa"] . "\n
Ubicacion: " .$_POST["ubicacion"] . "\n
Telefono: " .$_POST["telefono"] . "\n