2012-05-24 31 views
15

Tôi thậm chí không chắc chắn điều này là có thể, tuy nhiên những gì tôi đang cố gắng làm là như sau. Tôi có một biểu mẫu HTML tạo và gửi email bằng cách sử dụng tập lệnh PHP. Những gì tôi muốn là nhận email từ biểu mẫu này đến [email protected], sau đó tôi muốn địa chỉ from xuất hiện dưới dạng một trong các trường trong biểu mẫu.Chức năng thư PHP 'từ' địa chỉ

Tôi đã xem xét và tìm thấy một số thông tin hữu ích về số site này. Tôi không chắc liệu sendmail_from có thể được sử dụng trong trường hợp này hay không hoặc nếu nó làm những gì tôi yêu cầu.

Điều này có thể thực hiện được không?

Trả lời

25

Xem trang này trên cùng một trang web (ví dụ 2): http://www.w3schools.com/php/func_mail_mail.asp

Bạn sẽ phải thiết lập các tiêu đề của thông điệp để bao gồm các từ và các công cụ khác như CC hoặc BCC:

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

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

Lưu ý rằng bạn phải tách các tiêu đề bằng một chuỗi mới "\r\n".

+2

Chỉ cần lưu ý nếu đó là trường động từ biểu mẫu chỉ thay thế [email protected] bằng '$ variable', bạn cũng có thể sử dụng định dạng này cũng' $ username <$email> '. – Pitchinnate

+0

Tôi muốn đưa vào hướng dẫn chính thức về 'mail() 'của PHP http://php.net/manual/en/function.mail.php cũng/thay vào đó. –

1

Bất kỳ lý do nào bạn không thể thực hiện trong tiêu đề email?

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

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

Đối với một kịch bản email php Tôi đã sử dụng này cho các hình thức liên hệ:

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

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

tôi đã không sử dụng một sendmail_from trong php của tôi trước đây, chỉ một biến đơn giản.

Tôi hy vọng điều này sẽ hữu ích!

+0

Bạn thực sự nên khử trùng biến $ _POST ["từ"] đó trước khi chuyển nó tới hàm mail(). Một người dùng độc hại có thể tiêm bất kỳ số lượng tiêu đề khác bằng cách sử dụng phương thức của bạn. – Eric

Các vấn đề liên quan