Mam skrypt służący do wysyłania wiadomości email z poziomu strony internetowej. Chcę aby adresat był wybierany z pola 'select' w formularzu.
W owym polu posiadam dwie opcje z różniącymi się od siebie emailami jako wartość 'value'. Niestety kiedy w kodzie PHP jako email podam "$_POST['getemail']" mail nie dociera do adresata. Kiedy zaś zamiast wartości $_POST wpiszę po prostu adres emailowy, wiadomość dochodzi bez problemu.
HTML
<form action="contact.php" method="post" id="contactform"> <ol> <li> </li> <li> <input id="name" name="name" class="text" /> </li> <li> <input id="email" name="email" class="text" /> </li> <li> <input id="subject" name="subject" class="text" /> </li> <li> </li> <li class="buttons"> <input type="image" name="imageField" id="imageField" src="imgs/send.gif" class="send" /> </li> </ol> </form>
PHP
<?php include('inc/system.php'); $email = $_POST['email']; //$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS'; if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){ $error.="Wpisano błędny adres email"; $errors=1; } else{ $your_email = $_POST['getemail']; $email_subject = "New Message: ".$_POST['subject']; $email_content = '<div style="width: 60%; padding: 8px; margin-bottom: 2px; background: #252525; border: solid 1px #e4e4e4; font-size: 13px; color: #e8e8e8;"><b>Ta wiadomość została wysłana z formularza na stronie <a style="color: #a0a0a0; text-decoration: none;" href="http://www.xxx.com">www.xxx.com</a></b></div>'; $header="From:$email\n"; $header.="Content-Type: text/html; charset=utf-8\n"; foreach($values as $key => $value){ if ($key != 'subject' && $key != 'company') { } $email_content .= '<div style="width: 60%; padding: 8px; margin-bottom: 2px; background: #f6f6f6; border: solid 1px #e4e4e4; font-size: 13px; color: #505050;">'.getforminput($_POST[$value]).'</div>'; } } } else { } } ?>
Wydaje się, że wszystko powinno działać. Niestety w przypadku użycia $_POST mail nie dociera na skrzynkę pocztową. Jak rozumiem z pola select nie pobiera wybranej opcji i wysyłany mail nie posiada adresata. Dlaczego ?