Cấu hình SMTP trong WordPress mà không sử dụng plugin

Ngày đăng: 26 - 05 - 2022 Lượt xem: 68 lượt

Đôi khi, bạn không muốn cài nhiều plugin vì lý do bảo mật. Vì vậy bạn có thể tự code cấu hình SMTP trong WordPress. Nếu bạn đã sẵn sàng để làm điều đó? Cùng mình bắt đầu thôi!

cấu hình SMTP không dùng plugin

Tại sao không nên sử dụng plugin cho SMTP?

Mình không hoàn toàn ủng hộ việc không nên sử dụng bất kì plugin nào. Nhưng vì là một coder, mình nghĩ nên tránh cài plugin nhiều nhất có thể vì lý do bảo mật.

Mình thấy rằng một số plugin rất dễ bị tấn công, giúp tin tặc dễ dàng xâm nhập trang web của bạn. Dưới đây là ảnh chụp màn hình của mình về review của một số plugin SMTP trên WordPress.

đánh giá plugin SMTP đánh giá plugin SMTP đánh giá plugin SMTP đánh giá plugin SMTP

Mình hy vọng những đánh giá trên sẽ giúp bạn hiểu bảo mật là rất quan trọng đối với trang web của bạn. Nếu trang web của bạn bị tấn công thì sẽ làm lãng phí rất nhiều thời gian và tiền bạc của bạn. Vì vậy hãy cùng mình cấu hình SMTP mà không cần plugin thôi!

Cấu hình SMTP trong WordPress

Vì vấn đề bảo mật, mình nghĩ không nên lưu trữ bất kỳ thông tin đăng nhập nào ở file function.php. Vì vậy, mình sẽ thêm thông tin đăng nhập SMTP vào file wp-config.php và phần code còn lại trong function.php.

Thêm đoạn code sau vào file wp-config.php và chỉnh sửa nó theo thông tin đăng nhập SMTP trong mail của bạn.

/**
 * SMTP Credentials
 */
define( 'SMTP_USER',   'user@example.com' );    // Username to use for SMTP authentication
define( 'SMTP_PASS',   'smtp password' );       // Password to use for SMTP authentication
define( 'SMTP_HOST',   'smtp.example.com' );    // The hostname of the mail server
define( 'SMTP_FROM',   'website@example.com' ); // SMTP From email address
define( 'SMTP_NAME',   'e.g Website Name' );    // SMTP From name
define( 'SMTP_PORT',   '25' );                  // SMTP port number - likely to be 25, 465 or 587
define( 'SMTP_SECURE', 'tls' );                 // Encryption system to use - ssl or tls
define( 'SMTP_AUTH',    true );                 // Use SMTP authentication (true|false)
define( 'SMTP_DEBUG',   0 );                    // for debugging purposes only set to 1 or 2

Trên đoạn code trên, mình đã đã xác định các hằng số. Hằng là các biến toàn cục có thể được sử dụng ở bất kỳ đâu trên toàn bộ dự án (theme, plugin,…). Một lợi thế lớn của hằng là giá trị không thể thay đổi trong quá trình thực thi các hàm.

Tiếp theo, hãy thêm đoạn code dưới đây vào file function.php

if ( !function_exists('sc_smtp_mail_sender') ) :
 
    add_action( 'phpmailer_init', 'sc_smtp_mail_sender' );
 
    function sc_smtp_mail_sender( $phpmailer ) {
 
            $phpmailer->isSMTP();
        $phpmailer->Host       = SMTP_HOST;
        $phpmailer->SMTPAuth   = SMTP_AUTH;
        $phpmailer->Port       = SMTP_PORT;
        $phpmailer->Username   = SMTP_USER;
        $phpmailer->Password   = SMTP_PASS;
        $phpmailer->SMTPSecure = SMTP_SECURE;
        $phpmailer->From       = SMTP_FROM;
        $phpmailer->FromName   = SMTP_NAME;  
 
    } 
 
endif;

Giải thích một chút

Trên đoạn code trên, mình đã sử dụng hook phpmailer_init cho phép mình chuyển các tham số bổ sung cho hàm mail của PHP. Như vậy là thiết lập đã hoàn tất, bạn có thể thử email để kiểm tra.

Lời kết

Đó là tất cả trong ngày hôm nay. Hy vọng bài viết này đã giúp bạn thiết lập SMTP trong WordPress mà không cần bất kỳ plugin nào.

Nếu mình có sai sót, hoặc code của mình hoạt động không chính xác hãy comment cho mình biết. Ngoài ra nếu bạn quan tâm đến các chủ đề tương tự như vậy, hãy đọc các bài viết Thủ thuật WordPress khác và follow Fanpage để không bỏ lỡ bài viết mới từ mình nhé.

3 4 votes
Đánh giá bài viết

guest
0 Góp ý
Inline Feedbacks
View all comments

Bài viết liên quan

Cách đặt hình ảnh đại diện mặc định trong WordPress

Cách đặt hình ảnh đại diện mặc định trong WordPress

08 - 05 - 2022

Bạn có muốn đặt hình ảnh đại diện mặc định trong WordPress không? Nhiều theme sử dụng hình ảnh đại...

Hiển thị ngày đăng ký của người dùng vào trang tất cả người dùng

Hiển thị ngày đăng ký của người dùng vào trang tất cả người dùng

06 - 05 - 2022

Giả sử rằng có một cuộc tấn công spam vào trang web của bạn. Có gần 50 người dùng...

Làm việc với DateTime trong WordPress

Làm việc với DateTime trong WordPress

04 - 05 - 2022

Một năm trước, mình phát triển một plugin liên quan đến thời gian biểu. Và mình sớm nhận ra...

Tạo form tìm kiếm bằng shortcode trong WordPress

Tạo form tìm kiếm bằng shortcode trong WordPress

02 - 05 - 2022

Bạn muốn thêm form tìm kiếm vào bài viết, trang, hoặc sidebar của website? Thêm form tìm kiếm vào nội...

Thêm cột ảnh đại diện trong trang quản trị danh sách bài viết

Thêm cột ảnh đại diện trong trang quản trị danh sách bài viết

28 - 04 - 2022

Bạn có muốn hiển thị ảnh đại diện ra ngoài trang danh sách bài viết không? Hôm nay mình sẽ...

Làm thế nào để chuyển hướng URL trong WordPress?

Làm thế nào để chuyển hướng URL trong WordPress?

20 - 04 - 2022

Chuyển hướng URL, là một cách để làm cho một đường dẫn có thể truy cập được dưới nhiều...

0
Would love your thoughts, please comment.x