У меня есть эта функция, чтобы проверить формальную правильность электронной почты пользователя в веб-форме, чтобы отправить электронное письмо веб-мастеру, используя адрес электронной почты пользователя.
<?php
function verificarEmails($rte) {
$_POST['emailRemitente'] = $rte;
if (!filter_var($rte, FILTER_VALIDATE_EMAIL)) {
echo "<br>Oops! el mail debe ser correcto";
} else {
return $rte;
}
}
Если я хочу использовать вывод этой функции во второй функции (той, которая фактически отправляет электронное письмо), я должен добавить (внутри второй функции) что-то вроде этого?
$emailRemitente = verificarEmails($_POST['emailRemitente']);
Что я здесь не так делаю? Я очень уверен, что есть этот большой толстый слон, которого я скучаю. это $_POST['emailRemitente']
пользовательский ввод, и проблема в том, что verificarEmails()
функция не будет работать (она позволяет отправлять искаженные письма, используя форму).
Вторая завершенная функция такова:
<?php
function enviarMails($correo) {
$miEncabezado = "Estimada,<br>";
$emailRemitente = verificarEmails($_POST['emailRemitente']);
$nombreRemitente = $_POST['nombreRemitente'];
$para = $correo;
$asunto = 'Urgente';
$mensaje = $miEncabezado . $GLOBALS['texto'];
$headers = 'From: '.$nombreRemitente.' '.'<'.$emailRemitente.'>'."\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//mando mail a los usuarios
$envioUsuarios = mail($para, $asunto, $mensaje, $headers);
if($envioUsuarios) {
echo '<br><span class="ok">Mensaje enviado a '.$correo.'</span><br>';
} else {echo'<br><span class="error">No se mandó mail a '.$correo.'</span><br>';}
}
Попробуй это
<?php
function enviarMails($correo) {
if (filter_var($_POST['emailRemitente'], FILTER_VALIDATE_EMAIL)) {
$miEncabezado = "Estimada,<br>";
$nombreRemitente = $_POST['nombreRemitente'];
$para = $correo;
$asunto = 'Urgente';
$mensaje = $miEncabezado . $GLOBALS['texto'];
$headers = 'From: '.$nombreRemitente.' '.'<'.$_POST['emailRemitente'].'>'."\r\n";
$headers. = 'MIME-Version: 1.0' . "\r\n";
$headers. = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//mando mail a los usuarios
if(mail($para, $asunto, $mensaje, $headers)) {
echo '<br><span class="ok">Mensaje enviado a '.$correo.'</span><br>';
} else {
echo'<br><span class="error">No se mandó mail a '.$correo.'</span><br>';
}
} else {
// email not validated
}
}
С 2 функции:
<?php
function verificarEmails($rte) {
if (!filter_var($rte, FILTER_VALIDATE_EMAIL)) {
return false;
} else {
return true;
}
}
function enviarMails($correo) {
if (verificarEmails($_POST['emailRemitente']) {
$miEncabezado = "Estimada,<br>";
$nombreRemitente = $_POST['nombreRemitente'];
$para = $correo;
$asunto = 'Urgente';
$mensaje = $miEncabezado . $GLOBALS['texto'];
$headers = 'From: '.$nombreRemitente.' '.'<'.$_POST['emailRemitente'].'>'."\r\n";
$headers. = 'MIME-Version: 1.0' . "\r\n";
$headers. = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//mando mail a los usuarios
if(mail($para, $asunto, $mensaje, $headers)) {
echo '<br><span class="ok">Mensaje enviado a '.$correo.'</span><br>';
} else {
echo'<br><span class="error">No se mandó mail a '.$correo.'</span><br>';
}
} else {
// email not validated
}
}
function verificarEmails($rte) {
//$_POST['emailRemitente'] = $rte;
if (!filter_var($rte, FILTER_VALIDATE_EMAIL)) {
echo "<br>Oops! el mail debe ser correcto";
} else {
return $rte;
}
}
//another function
function func2($value2) {
return verificarEmails($value2);
}
echo func2('[email protected]');