Làm cách nào để bật chức năng thư PHP trong WHM?

Hầu hết mọi người sẽ muốn kích hoạt dịch vụ thư. Điều này cho phép bạn thiết lập địa chỉ email trên máy chủ của mình và gửi và nhận email. Thư được bật theo mặc định

Tại sao tôi lại vô hiệu hóa thư?

Bạn nên tắt dịch vụ thư cục bộ trên máy chủ Jumpline của mình nếu bạn sử dụng dịch vụ của bên thứ ba cho email của mình. Ví dụ: nếu bạn sử dụng Google Apps hoặc máy chủ Microsoft Exchange cho thư của mình, bạn nên tắt dịch vụ thư tại đây. Nếu không, các email được gửi từ máy chủ, chẳng hạn như từ một biểu mẫu trên trang web của bạn hoặc từ một miền khác trên tài khoản dùng chung, có thể được định tuyến không chính xác

Vui lòng thử các bước dưới đây

root@server [~]# php mail.php
sendmail: Not running with correct effective GID. Is sendmail binary setgid mailtrap?
sendmail: Not running with correct effective GID. Is sendmail binary setgid mailtrap?
root@server [~]#

Nếu bạn gặp lỗi như trên, bạn có thể thực hiện các lệnh sau để khắc phục lỗi này

root@server [~]# which sendmail
/usr/sbin/sendmail

root@server [~]# chown root:mailtrap /usr/sbin/sendmail
root@server [~]# chmod 2755 /usr/sbin/sendmail

Các ứng dụng PHP như WordPress, Joomla, v.v. gửi thư bằng tính năng PHP [còn gọi là hàm] có tên là “mail[]”

Tin tặc chủ yếu khai thác chức năng thư PHP để gửi thư rác

Không có gì lạ khi các công ty lưu trữ web vô hiệu hóa chức năng thư PHP trên máy chủ như một quy tắc chung

Điều này khiến thư từ các ứng dụng như wordpress không thành công với lỗi sau

"The e-mail could not be sent. Possible reason: your host may have disabled the mail[] function."

Chủ sở hữu trang web vẫn cần một cách để gửi thư từ trang web của họ. Tại Bobcares, chúng tôi cung cấp các giải pháp cho chủ sở hữu máy chủ trong các dịch vụ Hỗ trợ dịch vụ lưu trữ thuê ngoài của chúng tôi

Hôm nay, chúng ta hãy thảo luận về hai lý do khiến thư php bị lỗi và cách chúng tôi khắc phục chúng

Điều gì khiến chức năng thư php bị lỗi?

Khi bạn sử dụng chức năng thư PHP, thư được gửi trực tiếp từ danh tính máy chủ web hay còn gọi là người dùng "không ai"

Vì tất cả các yêu cầu web bắt nguồn từ cùng một danh tính “không ai cả”, nên việc theo dõi trang web gửi thư rác thực sự trong máy chủ trở nên khó khăn

Vì vậy, các công ty lưu trữ bảo vệ việc lạm dụng hàm PHP mail [] theo hai cách

1. Ngăn người dùng “nobody” gửi thư

Là một nguồn thư rác đã biết, hầu hết các máy chủ lưu trữ web đều ngăn chặn tất cả các thư có danh tính “không ai cả”

Ví dụ: trong máy chủ cpanel, có tùy chọn TẮT thư từ không ai như trong hình bên dưới

Nhưng hành động này cũng sẽ chặn thư từ người dùng hợp pháp, trừ khi có các tính năng khắc phục trên máy chủ

Vì vậy, Kỹ sư hỗ trợ của chúng tôi kích hoạt các mô-đun php đặc biệt như suphp, fastcgi, v.v. , sử dụng danh tính riêng của trang web để gửi thư

Điều này giúp chúng ta cấu hình mail server để giới hạn số lượng mail gửi từ mỗi website

2. Hàm thư có trong danh sách disable_functions của php

Tin tặc có thể sử dụng một số chức năng php nhất định như “shell_exec”, “system”, v.v. tấn công máy chủ

Vì vậy, các công ty lưu trữ web vô hiệu hóa các chức năng php nguy hiểm như vậy trên máy chủ

Khi hàm PHP mail[] cũng được thêm vào danh sách disable_functions, ngay cả thư từ người dùng hợp pháp cũng bị chặn

Trong các máy chủ như vậy, chúng tôi giúp chủ sở hữu trang web định cấu hình trang web của họ để gửi thư qua cổng SMTP thay vì hàm PHP mail[]

Đối với điều này, chúng tôi thiết lập plugin và mô-đun cho các trang web, chẳng hạn như “WP Mail SMTP” cho wordpress, PHPMailer cho Drupal, v.v.

Bằng cách này, tất cả thư từ các trang web đều bỏ qua chức năng thư PHP và được gửi qua cổng SMTP của máy chủ thư [giống như cách các ứng dụng thư khách như Outlook thực hiện]

Phần kết luận

Lỗi chức năng thư PHP [] thường xảy ra do các hạn chế trong máy chủ Lưu trữ web. Ở đây, chúng tôi đã thảo luận về hai nguyên nhân mà Kỹ sư hỗ trợ của chúng tôi đã thấy và cách chúng tôi khắc phục sự cố đó

Hàm PHP mail[] là một tính năng PHP tích hợp cho phép bạn gửi email trực tiếp từ tập lệnh. Tùy thuộc vào trang web hoặc ứng dụng web của bạn, bạn có thể cần chức năng này để cung cấp trải nghiệm tốt hơn cho khách hàng của mình

Ví dụ: nếu bạn đang điều hành một trang web dựa trên đăng ký, bạn có thể cảm thấy cần gửi thông báo xác minh và thông báo chào mừng qua email. Đây là nơi hàm PHP mail[] xuất hiện. Bạn có thể sử dụng nó trên mã hóa của mình để gửi email tự động mà không cần nhập thủ công từ phía bạn

Một lĩnh vực khác mà bạn có thể sử dụng sức mạnh của chức năng email PHP là trong biểu mẫu liên hệ. Khi khách nhập tin nhắn từ trang liên hệ, bạn có thể sử dụng tính năng gửi một bản sao của tin nhắn đến email của mình. Điều này cho phép bạn nhận email đúng hạn và trả lời nhanh nhất có thể

Hàm PHP mail[] được bật theo mặc định và bạn không cần phải chỉnh sửa php. ini để thiết lập tương tự. Vì vậy, trong hướng dẫn này, chúng tôi sẽ thảo luận về cú pháp chung mà bạn nên sử dụng để gọi hàm gửi email từ tập lệnh PHP

điều kiện tiên quyết

  • Một máy chủ web e. g. Apache hoặc Nginx
  • ngôn ngữ kịch bản PHP
  • Máy chủ email như SendMail hoặc Postfix

Nếu bạn đang sử dụng dịch vụ lưu trữ được chia sẻ, các gói trên được cài đặt và kích hoạt theo mặc định. Tuy nhiên, bạn sẽ cần cài đặt từng ứng dụng phần mềm nếu bạn đang sử dụng gói VPS

Để biết thêm thông tin về các gói này [nhà cung cấp, đánh giá, giá cả và tính năng] – hãy truy cập Đánh giá lưu trữ VPS của HostAdvice và Đánh giá lưu trữ được chia sẻ

Bước 1. PHP mail[] Cú pháp hàm

Cú pháp cơ bản cho hàm PHP mail[] là

mail [to, subject, message, headers, parameters];

Bảng dưới đây tóm tắt ý nghĩa của từng tham số

 

NoFieldMandatory/OptionalDescriptionExamples1toMandatory Tham số này cho biết người nhận emailinfo@example. com

bán hàng @ ví dụ. com

2subjectMandatoryChứa chủ đề của email. Ký tự dòng mới không được phép Lịch họp

chi tiết thanh toán

Kích hoạt tài khoản

3tin nhắnBắt buộcPhần nội dung thực tế của email được gửi tới đâyKhách hàng thân mến, tài khoản của bạn đã được kích hoạt. 4headersTùy ​​chọnĐược sử dụng để bao gồm các tiêu đề email bổ sung, chẳng hạn như. Từ, Cc, Bcc. Các giá trị này phải được phân tách bằng ‘\r\n’From. thanh toán@ví dụ. com”. “\r\n”. ”CC. kế toán@ví dụ. com”5tham sốTùy chọnTại đây, bạn có thể chuyển các cờ bổ sung tới máy chủ email

Trường này ít được sử dụng

'-fbilling@example. com'______5

Hãy nhớ thay đổi các giá trị tùy thuộc vào nhu cầu của bạn. Bạn có thể sử dụng tài khoản email của riêng bạn [e. g. Gmail] trên trường 'đến' khi kiểm tra tập lệnh

Khi bạn đã chỉnh sửa xong tệp, hãy lưu nó trên trang web của bạn

Bước 2. Kiểm tra tập lệnh

Bạn có thể chạy tập lệnh email PHP ở trên bằng cách truy cập URL trên trình duyệt. Ví dụ

www.example.com/mail.php

Thay thế 'ví dụ. com’ với tên miền của bạn và ‘mail. php’ với đường dẫn tệp chính xác

Nếu mọi thứ đã được thiết lập chính xác, bạn sẽ nhận được email có thông báo của mình

Phần kết luận

Đó là tất cả những gì liên quan đến việc thiết lập và gửi email bằng hàm PHP mail[]. Chúng tôi đã chứng minh việc gửi email ngay từ tập lệnh PHP bằng một ví dụ đơn giản. Tuy nhiên, bạn có thể mở rộng tập lệnh hơn nữa tùy theo nhu cầu của mình. Chẳng hạn, bạn có thể thêm nó vào cuối tập lệnh biểu mẫu liên hệ của mình để nhận email bất cứ khi nào khách truy cập gửi tin nhắn từ trang liên hệ

Làm cách nào để tắt thư PHP trong WHM?

Qua WHM .
Đăng nhập vào WHM với tư cách là người dùng root
Hướng đến. "Trang chủ »Phần mềm »MultiPHP INI Editor"
Nhấp vào tab "Chế độ trình chỉnh sửa"
Chọn một phiên bản PHP từ danh sách thả xuống
Tìm cài đặt cho disable_functions
Thêm chức năng thư vào cài đặt đó. .
Nhấp vào nút "Lưu" màu xanh lam ở khu vực phía trên bên phải của trình chỉnh sửa

Tại sao chức năng thư PHP không hoạt động?

Đảm bảo máy chủ thư localhost được định cấu hình Không có máy chủ , PHP không thể gửi thư theo mặc định. Bạn có thể khắc phục điều này bằng cách cài đặt một máy chủ thư cơ bản. Đối với Windows, bạn có thể sử dụng Mercury Mail miễn phí. Bạn cũng có thể sử dụng SMTP để gửi email của mình.

Hàm mail[] trong PHP là gì?

Hàm mail[] cho phép bạn gửi email trực tiếp từ tập lệnh .

Làm cách nào để tắt chức năng thư PHP trong cPanel?

Làm cách nào để tắt hàm php mail[] trên cPanel bằng CloudLinux? .
Đăng nhập vào máy chủ của bạn thông qua SSH và Chỉnh sửa /etc/cl. bộ chọn/php. .
Thêm các dòng dưới đây vào đầu tệp này. .
Sau đó, đăng nhập vào cpanel của khách hàng, thay đổi đường dẫn gửi thư thành /bin/true bằng cách sử dụng "Chọn phiên bản PHP > Chuyển sang Cài đặt PHP"

Chủ Đề