Cấu hình gửi mail WordPress bằng SMTP

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Cấu hình gửi mail WordPress bằng SMTP

Thỉnh thoảng contact form 7 gửi email đi từ WordPress bị lỗi? bạn cũng có thể mất những thông báo quan trọng khác từ website WordPress như thông báo cập nhật plugins.. Trong bài viết này mình sẽ hướng dẫn cách cấu hình gửi mail với SMTP.

Mặc định, WordPress sử dụng hàm PHP mail để gửi email, vì đa số lưu trữ share hosting chưa được cấu hình server gửi email do đấy bạn không thể sử dụng hàm mail trong PHP. Đây là lỗi wordpress phổ biến.

Hiện nay, nhiều dịch vụ gửi mail sử dụng nhiều công cụ để giảm thiểu email rác, các công cụ này thường phát hiện email được gửi từ những nơi bị giới hạn khu vực địa lý & cài đặt này tác động đến trang web WordPress của bạn. Đó là nguyên do tại sao chúng ta cần dùng SMTP để gửi email trong WordPress

SMTP viết tắt bởi (Simple Mail Transfer Protocol), khác với hàm PHP mail SMTP đáng tin cậy hơn nhiều vì sử dụng tài khoản email có xác minh thông qua các dịch vụ email như gmail, sendgrid,…thay vì sử dụng hàm mail trong PHP.

Có một vài cách bạn cũng có thể có thể thực thi SMTP trên blog WordPress, bạn không khó để chọn một plugin SMTP tốt nhất. Nếu bạn cũng muốn gửi email bản tin và có 1 lượng lớn các nội dung trên form sẽ gửi hàng ngày, bạn có thể coi xét sử dụng một trong 2 dịch vụ mail là Mailgun hoặc SendGrid.

Nếu bạn có 1 blog nhỏ hoặc website có gửi mail dưới 1000 emails mỗi tháng, bạn cũng có thể sử dụng gmail để gửi mail trong WordPress.

Bằng cách dùng tài khoản gmail của bạn, trong mỗi chúng ta ai cũng có tài khoản google, điều ấy rất phổ biến.

Chú ý: mật khẩu gmail sẽ có lưu trong WordPress, nó cấp phép người khác cũng có thể có thể xem mật khẩu của bạn, điều ấy bạn nên thận trọng. Nhưng đừng lo lắng các biện pháp dưới đây bạn sẽ biết cách dữ bảo mật thông tin nhậy cảm này.

Bạn muốn sử dụng miễn phí địa điểm email như gmail, yahoo, hay Hotmail để gửi email trong WordPress? Plugin WP Mail SMTP hoặc WP SMTP là một lựa chọn khác cho bạn sử dụng SMTP trên website hoàn hảo, sử dụng miễn phí. Trong bài hôm nay mình sẽ sử dụng plugin miễn phí này để gửi email thông báo từ form liên hệ của WordPress, với bước cài đặt đơn giản cho mọi tài khoản email.

Cài đặt & cấu hình WP Mail SMTP

Trước tiên, bạn cần cài đặt & kích hoạt plugin WP Mail SMTP. Sau khi plugin được kích hoạt thành công, bạn vào Settings » WP Mail SMTP để cấu hình gửi mail.

Trường trước mắt bạn nhập From Email , là địa điểm email sẽ hiển thị như người gửi đến trong hộp thư email.

Lưu ý: đáp ứng nhập đúng email bạn sẽ sử dụng để gửi SMTP email , đó là địa chỉ email Yahoo, gmail, live email của bạn.

Bạn cũng nên lựa chọn tùy chọn Force From Email .

Tiếp theo, bạn chọn tên người gửi “From Name”. Mặc định trường này thiết lập trùng với tên site, Tuy nhiên bạn có thể chọn một tên thay thế khác. Nếu bạn bật tùy chọn “Force From name”, nó sẽ áp dụng cho mọi thứ các emails và các plugin sửa cấu hình email khác sẽ không có công dụng trong WordPress của bạn.

Trường Mailer , mình sẽ chọn Other SMTP . Chú ý, có thêm tùy chọn Return Path , nếu bạn bật Set the return-path to match the From Email bạn sẽ nhận thông báo nếu có bất kỳ email nào được gửi đi gặp lỗi.

Cấu hình SMTP

Khi bạn chọn “Other SMTP”, plugin sẽ hiển thị các trường cho bạn điều thông tin chi tiết cho SMTP. Ở đây chúng ta cần nhập thông tin kết nối vào dịch SMTP của hãng sản xuất email của bạn. Mỗi dịch vụ mail sẽ có tùy chọn khác nhau, trong bài này mình sử dụng Gmail, Yahoo & Hotmail.

Hãy nhớ rằng khi bạn lưu tên người dùng, mật khẩu cho mọi cấu hình email của plugin, chúng được lưu trực tiếp trên website của. Do vậy để tăng tính bảo mật, plugin cho thêm tùy chọn lưu mật khẩu SMTP vào file wp-config.php

Gmail SMTP :

Nếu bạn mong muốn sử dụng tài khoản gmail hoặc G Suite làm tin tức kết nối SMTP, có thể sử dụng cấu hình SMTP dưới đây:

  • SMTP Host: smtp.gmail.com
  • SMTP Port: 465
  • Encryption: Use SSL encryption
  • Authentication: Yes: Use SMTP authentication.

Yahoo SMTP

Thông tin kết nối SMTP cho tài khoản Yahoo mail:

  • SMTP Host : smtp.mail.yahoo.com
  • SMTP Port : 465
  • Encryption : Use SSL encryption
  • Authentication : Yes: Use SMTP authentication.

Live/Hotmail SMTP

Tài khoản Hotmail cho bạn tin tức SMTP sẽ như sau:

  • SMTP Host : smtp.live.com
  • SMTP Port : 587
  • Encryption : Use TLS encryption
  • Authentication : Yes: Use SMTP authentication.

Bạn tên người dùng & mật khẩu cho một trong số dịch vụ SMTP trên và nhấn nút Save Changes .

Kích hoạt “Less Secure Apps”

Để sử dụng tài khoản SMTP gửi email bạn cần bật chế độ ‘less secure apps’ trên tài khoản email của bạn. Hãy xem chi tiết cách kích hoạt tính năng này cho những dịch vụ email theo những bước dưới đây.

Less Secure Apps với Gmail

Để kích hoạt mật khẩu phần mềm trên gmail, bạn đăng nhập vào gmail/G Suite sau đó truy cập liên kết này & bật tùy chọn “Access for less secure apps”.

Vì liên quan đến bảo mật, đôi khi gmail cũng có thể tự động khóa đăng nhập từ SMTP, thậm trí đã bật lesssecureapps trước đó. Nếu sẩy ra điều này, một email khác xác nhận ai đã đăng nhập vào email của bạn trái phép giống như thế này.

Để loại bỏ & hợp lệ hành động này bạn bấm vào “Review Your Devices Now” hoặc truy cập trang https://myaccount.google.com/device-activity và làm theo chỉ dẫn để google hiểu đó là bạn.

Less Secure Apps với Yahoo

Để kích hoạt, bạn đăng nhập vào tài khoản Yahoo & bấm vào cài đặt bảo mật tài khoản. GIờ bạn phải bật tùy chọn “Allow apps that use less secure sign-in”. Khi bạn thấy nút chuyển sang mầu xanh là thành công.

Less Secure Apps với Live/Hotmail

Nếu bạn sử dụng email với Live/Hotmail bạn sẽ không có tùy chỉnh “less secure apps” cho cài đặt SMTP.

Test gửi Mail

Sau khi cấu hình SMTP hoàn tất, bạn phải kiểm tra tin tức kết nối SMTP đã chắc chắn hoạt động. Để thực hiện, chúng ta bấm vào tab “Email Test” như trong hình.

Nhập email nhận và nhấn nút Send Email , chờ một lúc nếu bạn thấy hình sau là email đã gửi thành công.

Nếu có lỗi xẩy ra, bạn cần kiểm tra lại mật khẩu của email và đọng lại tin tức này hoặc để chắc chắn bạn lưu thông tin mật khẩu SMTP vào tệp wp-config.php

 define('WPMS_ON', true); define('WPMS_SMTP_PASS', 'mat-khau-cua-ban');  

Chèn code trên vào file functions.php và thử lại, email sẽ gửi thành công.

Lỗi SMTP

Đôi khi bạn gặp lỗi chẳng thể gửi mail sử dụng tài khoản SMTP của google, yahoo. Nguyên nhân có thể do Hosting của bạn chặn port 587,25,465 , để kiểm tra hosting của bạn có chặn các cổng này hay là không bạn sử dụng đoạn code sau đây:

  <?php //gmail-smtp-msa.l.google.com $fp = fsockopen('smtp.gmail.com', 587, $errno, $errstr, 600); if (!$fp) { // port is closed or blocked echo 'closed'; } else { // port is open and available echo 'open'; fclose($fp); }  

Kiểm tra bạn sử dụng đúng tài khoản SMTP với google/yahoo/live mail. Cách tốt đặc biệt là bạn chạy thử trên localhost, vì đó là môi trường develop sẽ không chặn bởi firewall. Chúng ta có thể sử dụng plugin WP Mail SMTP .

Nếu bạn chạy thử trên localhost cũng có thể có thể gửi mail không thành công. Đây là lỗi thiết lập kết nối SSL, cũng có thể do lỗi xác minh SSL chưa cài đặt trên máy server web localhost. Bạn cần tắt xác minh SSL với phiên bản PHP 5.6+ bằng cách sử dụng đoạn code dưới đây:

 add_filter('wp_mail_smtp_custom_options', function( $phpmailer ) { $phpmailer-> SMTPOptions = array( 'ssl' =>  array( 'verify_peer' =>  false, 'verify_peer_name' =>  false, 'allow_self_signed' =>  true ) ); return $phpmailer; } );  

Sau khi mình nhấn nút test trên giao diện trên WP Mail SMTP, thì gặp lỗi này Error due to unsolicited and/or bulk e-mail. This means the connection to your SMTP host was made successfully, but the host rejected the email. . Lỗi này có nghĩa, kết nối vào SMTP server thành công nhưng web hosting từ chối tài khoản email. Nếu bạn lỗi tương tự như mình, rất cũng có thể email của bạn đã trở nên đánh dấu spam.

Để khắc phục bạn thử đổi sang sử dụng port khác, vd: 465, 587, 25. Xem chi tiết tin tức SMTP của gmail, yahoo..

Nếu lỗi này vẫn không được khắc phục & nhà cung cấp hosting của bạn chẳng thể xác minh qua máy chủ SMTP riêng, chúng ta có một thêm một cách khác không sử dụng giao thức SMTP. Hiện nay có nhiều dịch vụ gửi mail thông qua API như sendgrid, smtp. Cách thức này sẽ xuất chúng hơn so với giao thức SMTP. Mọi sử lý sẽ gửi ở dạng Service , tức là bạn không không mất thời chờ đợi trước lúc mail được gửi. Đó là lợi ý của việc sử dụng hàng đợi Queued. Nếu bạn có nhu cầu thiết kế website wordpress tích hợp gửi mail API, hãy liên hệ với Hoàng nhé.

Trong bài viết này mình sử dụng Mailgun, một trong những dịch vụ mail tốt nhất hiện nay. Tại trang cấu hình plugin WP Mail SMTP, bạn chọn “Mailgun” tại mục “Mailer”. Chúng ta cần điền 2 thông số Private API Key & Domain Name

Để lấy thông tin này, bạn đăng nhập vào tài khoản mailgun, sau đó vào menu Security hoặc sử dụng link https://app.mailgun.com/app/account/security. Copy chuỗi ‘Private API Key’

Tiếp đến, bạn chọn một trong số domains có sử dụng trong mailgun ở trang https://app.mailgun.com/app/domains

Sau khi điền đầy đặn thông tin của mailgun, bạn nhấn nút Lưu. Ok, sau khi dùng dịch vụ mailgun mình sẽ sửa được lỗi gửi mail, bạn có thể chuyển sang tab “Email test” để kiểm tra.

Chúc bạn thành công!

Để thu được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể có thể nhận được sự trợ giúp trên Twitter và Facebook

Bài viết Cấu hình gửi mail WordPress bằng SMTP được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang