Hi! hôm nay mình tình cờ học được cách đăng bài viết sử dụng email bằng cách gửi mail đến một email khác. Nội dung của Email sẽ được đăng lên bài viết trên website wordpress. Chú ý: để sử dụng được tính năng này hosting phải hỗ trợ SSL.
Trong bài này mình sẽ demo trên localhost sử dụng XAMPP. Kiểm tra và bật các extension của Apache và PHP.
Kích hoạt “ssl_module” trong Apache Server. Ví dụ sau cho Wamp.
“php_openssl”, “php_smtp” và “php_sockets” extensions cho PHP compiler:
Trước tiên, bạn tải plugin có tên “Post By Email“.
Các tính năng đăng bài từ email
- Hỗ trợ IMAP hoặc POP3 server (SSL)
- Xác nhận mã PIN để chặn spam
- Sử dụng quyền user để quản lý đăng bài.
- Thiết lập danh mục, tags và taxonomy bằng cách sử dụng shortcode trong nội dung email.
- Email attachment sẽ tự động thêm vào posts’ gallery
- Nếu sử dụng địa chỉ Email khác để gửi không phải email của chủ website thì bài viết có trạng thái pending hoặc discarded có nghĩa là bài viết này không phải là của tác giả.
Email của chủ website được thiết lập trong phần settings->General.
Như vậy nếu dùng email khai báo trong wordpress để gửi vào emai đăng bài thì wordpress coi đây là bài viết này của admin và được publish ngay. Ngược lại nếu email không phải là tài khoản thành viên trên trang web hoặc user email này không được phép xuất bản bài viết thì những bài viết này được đặt trạng thái là “pending”
Mặc định, mọi user có quyền Author, Editor hoặc Administrator đều có thể publish bài viết. Bạn có thể truy cập vào menu Users để xem và quản lý các users với các quyền của người dùng đó.
Cấu hình cho Post by Email
Sau khi kích hoạt plugin, truy cập vào Tools-> Post By Email để cấu hình. Đầu tiên chúng ta sẽ thiết lập cho Mail Server.
Trong bài viết này mình sử dụng GMail server và yahoo mail.
Kích hoạt IMAP trong gmail
Bạn cần cung cấp địa chỉ giao thức IMAP/POP3 trong gmail. Để kích hoạt IMAP của gmail bạn thực hiện các bước sau:
- 1. Đăng nhập vào Gmail
- 2. Nhấn vào nút có biểu tượng bánh răng -> settings
- 3. Chọn vào tab Forwarding and POP/IMAP
- 4. Lựa chọn Enable IMAP.
- 5. Nhấn Save Changes để lưu lại
Chú ý: tính năng này chỉ hiển thị khi gmail đang xem ở chế độ standard. Nếu bạn sử dụng gmail ở chế độ Basic HTML thì sẽ không hoạt động. Tìm hiểu về 2 chế độ xem gmail tại đây.
Bước tiếp theo, các bạn điền thông số Incoming Mail (IMAP) Server của gmail:
- Mail server: imap.gmail.com
- Login Name: viết đầy đủ địa chỉ gmail, vd: [email protected]
- Password: mật khẩu của gmail ở trên
- Default Mail Category: mặc định sẽ đăng bài viết vào danh mục này. Ban chọn một danh mục từ danh sách.
Chuyển sang tab Mailbox Details để tiếp tục thiết lập cấu hình cho mail server với thông số như sau:
- Protocol: IMAP
- Port: 993
- SSL: Yes
– Delete messages after posting?: nếu chọn mục này, nội dung của email sau khi được post bài viết vào wordpress thì sẽ tự động xóa đi, còn không thì email đó được đánh dấu là đã đọc. Lưu ý: tính năng này chỉ dành cho giao thức IMAP.
Chúng ta chỉ cần thông tin của incoming mail server, không cần đến outgoing mail server bởi vì plugin chỉ dùng để đọc nội dung các email đến.
Đối với yahoo mail server, bạn tham khảo tại bài viết cấu hình IMAP server cho yahoo.
Yahoo Incoming Mail (IMAP) Server
- Server: imap.mail.yahoo.com
- Port: 993
- Requires SSL: Yes
Ngoài ra nếu bạn dùng Microsoft hotmail thì tham khảo bài viết này.
Ok, như vậy các bạn đã hoàn tất công đoạn cấu hình cho plugin.
Cách thức đăng bài từ Email
Plugin kiểm tra kết nối tới mail server mà bạn đã thiết lập để đọc mails. Nếu kết nối thành công plugin sẽ đọc tất cả các mail mới đến và kiểm tra các địa chỉ mail nếu email đó là tài khoản của thành viên có quyền publish bài viết thì nội dung của email đó được đăng và xuất bản thành bài viết. Còn lại những email không thuộc tài khoản thành viên trên web thì mặc định vẫn được post lên web nhưng ở chế độ chờ duyệt (pending).
Plugin không tự động kết nối vào mail server, nó sẽ hoạt động bằng cách chọn vào tab Activity Log -> nhấn vào nút Check now để bắt đầu đọc email mới.
Sử dụng shortcodes
Đăng bài viết vào category
Bạn có thể chỉ định danh mục post trong nội dung email bằng cách chèn shortcode vào email gửi đi. Mặc định bài viết sẽ đăng vào category bạn thiết lập trong phần cấu hình. Bạn cũng có thể thiết lập categories, tags và custom taxonomy terms.
Thiết lập category cho bài viết với shortcode category
, sử dụng category slugs hoặc ID.
[category posted-by-email another-category]
Thiết lập Tags với tag slug:
Đối với custom taxonomy thì tên shortcode bạn chỉ định tên của taxonomy. Với taxonomy đa tầng thì sử dụng ID còn không viết tên slugs. Ví dụ:
[custom-taxonomy-name thing1 thing2]
[another-custom-taxonomy 2 3 5]
Email Attachments
Mọi tệp tin được đính kèm trong email sẽ được upload vào Media Library và được thiết lập vào gallery trong bài viết.
Bạn có thể cho hiển thị gallery này trong bài viết bằng cách sử dụng wordpress gallery shortcode. Nếu không tìm thấy gallery shortcode trong mail thì gallery sẽ được thêm vào cuối bài viết.
FAQ: Lỗi thường gặp
“An error occurred: Error connecting to mail server.”: kiểm tra lại xem hosting có hỗ trợ SSL không? nếu bạn sử dụng share-host thì thường là không được hỗ trợ SSL.
Chúc bạn thành công.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
Liên hệ
Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net
Hotline tư vấn: 0989 48 3456
Nguồn: Sưu tầm trên internet