2012-05-24 17 views
15

Nie jestem nawet pewien, czy to możliwe, jednak staram się to zrobić w następujący sposób. Mam formularz HTML, który generuje i wysyła za pomocą skryptu PHP. Chcę otrzymywać e-maile z tego formularza do [email protected], a następnie chcę, aby adres from pojawiał się jako jedno z pól w formularzu.Funkcja poczty PHP 'from' adres

Rozejrzałem się i znalazłem użyteczne informacje na temat tego site. Nie jestem pewien, czy w tej sytuacji można użyć sendmail_from, czy robi to, o co proszę.

Czy to możliwe, jeśli tak, w jaki sposób?

Odpowiedz

25

Zobacz tę stronę w tym samym miejscu (przykład 2): http://www.w3schools.com/php/func_mail_mail.asp

Będziesz musiał ustawić nagłówki wiadomości do włączenia Od i inne rzeczy jak CC lub BCC:

<?php 
$to = "[email protected]"; 
$subject = "My subject"; 
$txt = "Hello world!"; 
$headers = "From: [email protected]\r\n"; 

mail($to,$subject,$txt,$headers); 
?> 

Zauważ, że musisz oddzielić nagłówki od sekwencji nowej linii "\r\n".

+2

Tylko uwaga, jeśli jest to pole dynamiczne z formularza, po prostu zamień [email protected] na '$ variable' również możesz użyć tego formatu również' $ username <$email> '. – Pitchinnate

+0

Chciałbym dołączyć oficjalny podręcznik do 'mail()' http://php.net/manual/en/function.mail.php również w PHP. –

1

Każdy powód, dla którego nie możesz tego zrobić w nagłówkach wiadomości e-mail?

$to  = '[email protected]'; 
$subject = 'my subject'; 
$message = 'hello'; 
$headers = 'From: '.$email_from_form. "\r\n"; 

mail($to, $subject, $message, $headers); 
3

Dla skryptu php poczty Użyłem tego do formularzy kontaktowych:

$from = $_POST["from"]; //posted from the form. 

mail("[email protected]", $subject, $message, "From:" . $from); 

Nie użył sendmail_from w moim php wcześniej, tylko prostą zmienną.

Mam nadzieję, że to pomoże!

+0

Naprawdę powinieneś zdezynfekować zmienną $ _POST ["od"] przed przekazaniem jej do funkcji mail(). Złośliwy użytkownik może wstrzyknąć dowolną liczbę innych nagłówków przy użyciu tej metody. – Eric