При отправке формы PHP на основе `mail-it` в мобильном браузере формат электронной почты недопустим - PullRequest
0 голосов
/ 29 октября 2019

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

email is not a valid format

Я пыталсязамена "\ r \ n" на "\ n", как я видел в другом посте здесь, но не повезло.

При необходимости попросите дополнительную информацию, помогающую найти решение, возможно, с четкими инструкциями о том, как получить информацию. Спасибо!

<?php

/* Code by David McKeown - craftedbydavid.com */
/* Editable entries are bellow */

$send_to = "someone@emailaddress.com ";
$send_subject = "Website Enquiry";



/*Be careful when editing below this line */

$f_name = cleanupentries($_POST["name"]);
$f_email = cleanupentries($_POST["email"]);
$f_message = cleanupentries($_POST["message"]);
$from_ip = $_SERVER['REMOTE_ADDR'];
$from_browser = $_SERVER['HTTP_USER_AGENT'];

function cleanupentries($entry) {
    $entry = trim($entry);
    $entry = stripslashes($entry);
    $entry = htmlspecialchars($entry);

    return $entry;
}

$message = "This email was submitted on " . date('m-d-Y') . 
"\n\nName: " . $f_name . 
"\n\nE-Mail: " . $f_email . 
"\n\nMessage: \n" . $f_message . 
"\n\n\nTechnical Details:\n" . $from_ip . "\n" . $from_browser;

$send_subject .= " - {$f_name}";

$headers = "From: " . $f_email . "\r\n" .
"Reply-To: " . $f_email . "\r\n" .
"X-Mailer: PHP/" . phpversion();

if (!$f_email) {
    echo "no email";
    exit;
}else if (!$f_name){
    echo "no name";
    exit;
}else{
    if (filter_var($f_email, FILTER_VALIDATE_EMAIL)) {
        mail($send_to, $send_subject, $message, $headers);
        echo "true";
    }else{
        echo "invalid email";
        exit;
    }
}

?>
...