Hướng dẫn fix lỗi function mail() trên DirectAdmin

Tác giả: 30/08/2022

1. Mô tả lỗi

Một số khách hàng triển khai mã nguồn code php trên VPS chạy DirectAdmin sử dụng function mail() để chạy trong code của mình. Tuy nhiên một số trường hợp gặp lỗi function mail() không chạy, gửi mail qua hàm mail() của php có báo gửi được nhưng không thấy đến hộp thư. Bài viết này sẽ hướng dẫn fix lỗi function mail

  • Đoạn code test function mail()
<?php
   $to_email = "duydm@nhanhoa.com.vn";
   $subject = "Simple Email Test via PHP";
   $body = "Hi,nn This is test email send by PHP Script";
   $headers = "From: manhduy107@gmail.com";
 
   if ( mail($to_email, $subject, $body, $headers)) {
      echo("Email successfully sent to $to_email...");
   } else {
      echo("Email sending failed...");
   }
?>

2. Cách khách phục fix lỗi function mail

– Kiểm tra mở port gửi/nhận mail ở csf

vi /etc/csf/csf.conf
  • Tại dòng 139, 142 kiểm tra mở các port cho email 25, 465, 587, 110, 995
# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2222"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,465,587,993,995,2222"

<img src=”https://i.imgur.com/CO1gg62.png”>

  • Reload lại csf
csf -r

– Build lại exim

Mở port như ở trên và kiểm tra lại, nếu chưa được build lại exim như hướng dẫn ở dưới:

cd /usr/local/directadmin/custombuild
./build update
./build set exim yes
./build set eximconf yes
./build set eximconf_release 4.5
./build set spamassassin yes
./build update
./build exim
./build exim_conf

3. Kiểm tra

– Chạy test

– Kết quả

Tham khảo: https://wiki.nhanhoa.com/kb/huong-dan-nang-cap-custombuild-2-0-tren-directadmin/

Xin cảm ơn!

 Khi cần hỗ trợ xin liên hệ với chúng tôi:

Công ty phần mềm Nhân Hòa

Phòng kỹ thuật – Công ty TNHH phần mềm Nhân Hòa

Tel: (024) 7308.6680 (phím 2) – Hotline: 0988.566.933 – Email: support@nhanhoa.com

30/08/2022

Trả lời