У меня есть форма, и я хочу, чтобы люди отправляли ее на свою электронную почту. Поэтому я добавил почту к коду mail ($ to, $ subject ....). Если я введу значение в $ to вручную (например, $ to = "xxx.example.com"), письмо придет. Тем не менее, это решение нецелесообразно, потому что мне нужно отправлять электронную почту с помощью ввода пользователя.
Я создал окно предупреждения с полем ввода, используя JavaScript:
function prompt($prompt_msg){
echo("<script type='text/javascript'> var answer = prompt('".$prompt_msg."',); </script>");
$answer = "<script type='text/javascript'> document.write(answer); </script>";
return($answer);
}
$prompt_msg = "Zadejte Váš email:";
$name = prompt($prompt_msg);
Если я печатаю значение с помощью echo ($ name), адрес электронной почты отображается, но письмо не отправляется.
Поэтому я создал значение для нескольких сообщений:
$recipients = array ("xxx@yyy.com", $name, "yyy@xxx.com");
на адрес электронной почты xxx и адрес электронной почты yyy письмо пришло, но если я просмотрел получателей электронной почты в почтовом ящике yyy вместо xxx, yyy и значений из $ name, он показал это:
Recipients - xxx, yyy, scripttype='text/javascript'@ssd3.jh-pro.cz
answer <document.write@ssd3.jh-pro.cz>
/script@ssd3.jh-pro.cz
Это означает, что вместо содержимого $ name электронное письмо отправляется по адресу:
scripttype='text/javascript'@ssd3.jh-pro.cz,
answer <document.write@ssd3.jh-pro.cz>,
/script@ssd3.jh-pro.cz
Знаете ли вы, почему это происходит?
Заранее благодарю за помощь
function prompt($prompt_msg){
echo("<script type='text/javascript'> var answer =
prompt('".$prompt_msg."',); </script>");
$answer = "<script type='text/javascript'> document.write(answer); </script>";
return($answer);
}
$prompt_msg = "Zadejte Váš email:";
$name = prompt($prompt_msg);
$recipients = array("xxx@yyy.cz",$name,"yyy@xxx.com");
$to = implode(',', $recipients);
echo($to);
.
.
.
.
mail($to,$subject,$message,$headers);