2011-11-29 23 views
9

Trong khi khắc phục sự cố biểu mẫu liên hệ với máy chủ lưu trữ email, họ đã yêu cầu tôi sử dụng '-f' trong địa chỉ từ của chức năng thư php. Cờ "-f" làm gì và tại sao nó sẽ là một sửa chữa cho phép gửi e-mail? Tôi đọc một số tài liệu nhưng tôi không rõ ràng về nó.Thư PHP: -F làm gì?

đang

Ví dụ:

mail($emailAddress, $mailSubject, $mailBody, $headers, '-f ' . $mailFrom); 

PS: nếu không có sự "-f" nó làm việc tốt cho đội chủ nhà e-mail lớn (hotmail, gmail, vv, nhưng vì lý do gì không cho các máy chủ nhỏ hơn tôi 'm working with)

Cảm ơn

+2

Ví dụ của bạn thiếu tham số bổ sung_headers. – nickb

+0

Vì đã có một nơi để chỉ định địa chỉ "từ" trong hàm mail(), nên có một tùy chọn bổ sung -f – ToddBFisher

+0

như @nickb cho biết, đây là thứ tự các tham số chính xác: '($ email_to," $ email_subject ", $ email_body, $ email_headers, '-f'. $ email_from)' – webeno

Trả lời

9

-f là tham số cho bưu phẩm (thường là sendmail). Từ the docs:

Tham số additional_parameters có thể được sử dụng để truyền thêm cờ như các tùy chọn dòng lệnh để chương trình được cấu hình để sử dụng khi gửi thư, theo định nghĩa của cấu hình sendmail_path thiết lập . Ví dụ, điều này có thể được sử dụng để đặt người gửi phong bì địa chỉ khi sử dụng sendmail với tùy chọn gửi -f.

Đây là man page for sendmail, bạn có thể xem những gì các tùy chọn -f làm:

-fname   Sets the name of the ``from'' person (i.e., the sender of the 
       mail). -f can only be used by ``trusted'' users (normally 
       root, daemon, and network) or if the person you are trying to 
       become is the same as the person you are. 
+0

Chỉ cần một followup @nickb, '-f' trong ví dụ là tham số thứ 4 và các tài liệu PHP đề cập rằng điều này nên ở vị trí thứ 5 - Tôi có đọc những thứ sai ở đây không? – hafichuk

+0

@hafichuk - Ví dụ thiếu tiêu đề email - Đây là tham số thứ 5 cho 'mail()'. – nickb

+0

Vì vậy, nó chỉ là đánh dấu từ địa chỉ e-mail như được gửi từ một người dùng đáng tin cậy trên máy chủ lưu trữ web sau đó? Cùng với đó, tôi đã không viết mã này, chỉ cần duy trì nó, nhưng nó là thực hành tốt để có địa chỉ từ các địa chỉ e-mail người dùng nhập vào mẫu? – ToddBFisher

3

Các tùy chọn -f là để thiết lập địa chỉ thư bị trả lại thư. Gửi tin nhắn mà không có ai có thể ảnh hưởng xấu đến điểm số spam đang được tính toán qua tin nhắn. Thư có điểm số thấp đôi khi được lọc ra cho một số máy chủ nhất định.

Bạn có thể sử dụng https://www.mail-tester.com/ để kiểm tra điểm số của thư. Bạn có thể hết hạn có hoặc không có cờ -f và xem thay đổi điểm số.