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()
<span class="php"><span class="hljs-meta"><?php</span>
   $to_email = <span class="hljs-string">"duydm@nhanhoa.com.vn"</span>;
   $subject = <span class="hljs-string">"Simple Email Test via PHP"</span>;
   $body = <span class="hljs-string">"Hi,nn This is test email send by PHP Script"</span>;
   $headers = <span class="hljs-string">"From: manhduy107@gmail.com"</span>;
 
   <span class="hljs-keyword">if</span> ( mail($to_email, $subject, $body, $headers)) {
      <span class="hljs-keyword">echo</span>(<span class="hljs-string">"Email successfully sent to $to_email..."</span>);
   } <span class="hljs-keyword">else</span> {
      <span class="hljs-keyword">echo</span>(<span class="hljs-string">"Email sending failed..."</span>);
   }
<span class="hljs-meta">?></span></span>

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

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

<span class="hljs-attr">vi</span> <span class="hljs-string">/etc/csf/csf.conf</span>
  • 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 = "<span class="hljs-number">20,21,22,25</span>,<span class="hljs-number">53,80,110,143</span>,<span class="hljs-number">443,465</span>,<span class="hljs-number">587,993</span>,<span class="hljs-number">995,2222</span>"

# Allow outgoing TCP ports
TCP_OUT = "<span class="hljs-number">20,21,22,25</span>,<span class="hljs-number">53,80,110,113</span>,<span class="hljs-number">443,465</span>,<span class="hljs-number">587,993</span>,<span class="hljs-number">995,2222</span>"

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

  • Reload lại csf
<span class="hljs-attr">csf</span> <span class="hljs-string">-r</span>

– 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 <span class="hljs-keyword">update</span>
./<span class="hljs-keyword">build</span> <span class="hljs-keyword">set</span> exim yes
./<span class="hljs-keyword">build</span> <span class="hljs-keyword">set</span> eximconf yes
./<span class="hljs-keyword">build</span> <span class="hljs-keyword">set</span> eximconf_release <span class="hljs-number">4.5</span>
./<span class="hljs-keyword">build</span> <span class="hljs-keyword">set</span> spamassassin yes
./<span class="hljs-keyword">build</span> <span class="hljs-keyword">update</span>
./<span class="hljs-keyword">build</span> exim
./<span class="hljs-keyword">build</span> 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

Để lại một bình luận