функция mail () не может работать с двумя фильтрами электронной почты?

У меня есть эта функция для отправки электронной почты. Он работал нормально до тех пор, пока я не добавил дополнительную проверку к входящему электронному письму (помимо filter_var ()), поступающему из формы, где я проверяю определенные доменные имена и соответственно отклоняю их.

Я не могу понять, почему не работает сейчас.

Я добавил в начало моего файла:

ini_set('display_errors', true);
error_reporting(E_ALL);

Это просто не покажет мне ни сообщения об ошибке, ни отправит письмо.

Часть, которая заполняет параметр ($ correo), не изменилась:

<?php
function enviarMails($correo) {
$miMensaje = "bláh, bláh";
if (!filter_var($_POST['emailRemitente'], FILTER_VALIDATE_EMAIL)) {
echo "<br>Oops! Email incorrecto";
} else {
$rejectedDomains = array('midominio.org', 'midominio.com');
$emailParts = explode('@',$_POST['emailRemitente']);
if (in_array(strtolower($emailParts[1]), $rejectedDomains)) {
echo "<br>Oops! email incorrecto";
} else{
$emailRemitente = $_POST['emailRemitente'];
$nombreRemitente = $_POST['nombreRemitente'];
$para   = $correo;
$asunto = 'ATENCION';
$mensaje = $miMensaje;
$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>'; }
}
}
}

Резолютивная часть здесь — это фильтры строк:

...
FIRST FILTER:
if (!filter_var($_POST['emailRemitente'], FILTER_VALIDATE_EMAIL)) {
echo "<br>Oops! Email incorrecto";
} else {
$rejectedDomains = array('midominio.org', 'midominio.com');
SECOND FILTER:
$emailParts = explode('@',$_POST['emailRemitente']);
if (in_array(strtolower($emailParts[1]), $rejectedDomains)) {
echo "<br>Oops! email incorrecto";
} else{
...

ПРИМЕЧАНИЕ. Поскольку английский не является моим родным языком, я не смог придумать лучшего названия для этого поста. Если заголовок не достаточно описательный, пожалуйста, сделайте его лучше и понятнее.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]