Hướng dẫn thư viện phpmailer
Bạn có một website bán hàng online bạn muốn nhận được thông báo khi có đơn hàng mới? Bạn là chủ một blog đang được nhiều người quan tâm và người ta muốn nhận thông báo từ bạn mỗi khi có bài viết mới thông qua email? Hay đơn giản là bạn muốn nhận được mail thông báo từ form liên hệ. Bạn có thể sử dụng hàm mail mặc định của PHP để làm điều này nhưng thường hay bị lỗi, và trong bài ngày hôm này mình muốn giới thiệu tới các bạn cách gửi mail trong php bằng cách sử dụng PHPMailer. Có thể nói đây là một trong những thư viện cơ bản nhưng không hẳn là ai cũng biết đến nó và bài này mình muốn giới thiệu đến các bạn đang gặp khó khăn trong vấn đề gửi mail trong php nên các bạn chém tay ạ. Show
Nội dung chính 1.Tại sao phải dùng PHPMailer?Mặc dù trong php đã có sẵn hàm gửi mail rồi nhưng thường thì khi mail sẽ rất khó khăn phát nổ phát xịt, mail của bạn có thể nằm trong mục spam hoặc sever của bạn đã bị chặn hàm gửi mail. Lúc này bạn sẽ cần phải nghĩ đến một giải pháp thay thế đó là sử dụng một thư viện hỗ trợ việc gửi mail. Và ở đây tôi chọn PHPMailer để làm việc này. Ngoài ra còn có pear mail nhưng ít phổ biến hơn và mình cũng chưa dùng nó bao giờ các bạn có thể tìm hiểu thêm và cho ý kiến. Các tính năng của PHPMailer
Và còn nhiều hơn thế nữa nếu bạn chưa biết đến nó hãy dùng đi và cảm nhận. 2. Hướng dẫn sử dụng PHPMailer version 6xTrước tiên bạn cần download thư viện PHPMailer 6.05 tại đây. Import thư việnBạn thực hiện import thư viện vào như sau, nhớ thay đổi đường dẫn tới mã nguồn mà bạn đã lưu nhé, và phải đặt đoạn code này ở trên cùng của file.
Thự hiện gửi mail
Chi tiết bạn nên xem video để hiểu rõ hơn. 3. Hướng dẫn sử dụng PHPMailer Version 5xTrước tiên muốn sử dụng được bạn cần phải tải code của nó về đã. Bạn có thể tải nó về tại đây. Sau khi tải về bạn giải nén nó ra bạn sẽ nhận được một số file nhưng bạn chỉ cần sử dụng hai file đó là Sau khi đã có 2 file trên chúng ta cùng tạo 1 file có tên Và nội dung của file như sau.
Chỉ đơn giản thế thôi, rất nhàn phải không nào, bạn thử chạy file Hướng dẫn tạo hàm để gửi mail với PHPMailerNhư ở phần trên bạn đã gửi email thành công nhưng giả sử trên trang web của bạn bạn muốn gửi mail ở nhiều chỗ, ví dụ khi khách hàng liên hệ bạn cần gửi mail đến quản trị viên để thông báo. Khi có đơn hàng mới bạn cần gửi mail xác nhận đơn hàng và
thông báo tới quản trị viên. Không lẽ bạn cứ phải ôm theo một mớ code như thế ném ở mọi file rõ ràng là không gọn gàn chút nào phải không nào. Và ở phần này mình sẽ hướng dẫn các bạn để cho chúng vào một hàm và trong hàm này hơi khác phần trên một chút là mình có bổ sung thêm tính năng thêm địa chỉ cc. Thực tế thì dựa vào phần trên bạn hoàn toàn có thể tự tạo hàm cho riêng mình nhưng ở đây mình tạo mẫu cho các bạn chưa rành lắm về hàm có thể áp dụng.Bạn hãy tạo một file functions.php để viết các
hàm vào đấy. Và ở đoạn code sau tôi có tạo sẵn hai hàm một là hàm sendMail để gửi mail bình thường không có file đính kèm và hai là hàm
Trong hàm trên mình có để cố định phần AddReplyTo vì theo ý kiến cá nhân của mình chắc phần này thường cố định tuy nhiên nếu hệ thống của bạn gồm nhiều bộ phận thì có thể nó sẽ khác nhau bạn từ điều chỉnh cho nó phù hợp. Bây giờ bạn quay lại file
Đối với hàm
Bạn hãy cầu hình các thông số phù hợp sau đó chạy file 4. Cấu hình tài khoản gmail để gửi được mailHiện nay google đã bổ sung một số chức năng security dành cho dịch vụ ngoài, tức là các dịch vụ gửi mail thông qua smtp của google, vì vậy bạn phải thực hiện một số bươc sau để có thể gửi mail được. Không sử dụng đăng nhập 2 bướcĐăng nhập 2 bước là chức năng mỗi khi bạn đăng nhập thì google sẽ gửi mã code đến sdt của bạn, sau đó bạn nhập mã code vào thì mới đăng nhập được. Vì bạn đang gửi tự động nên phải tắt chức năng này nhé. Để tắt thì bạn vào link này nhé, nếu bạn chưa bật thì có thẻ bỏ qua. Bật Allow less secure apps sang ONBạn vào link này để chuyển sang chế độ ON nhé. Thường xong bước này là bạn có thể gửi mail tại localhost, nhưng khi upload lên hosting thì không sử dụng được, lúc này bạn phải thực hiện bước thứ 3 dưới đây. Bật Display Unlock CaptchaBạn vào link này và click vào tiếp tục để cho phép gửi mail tại bên thứ 3 nhé. Sau khi hoàn thành 3 bước trên là bạn đã gửi được mail rồi đấy. Trường hợp vẫn chưa gửi được thì bạn cần phải xem lại hosting của bạn có hỗ trợ gửi mail hay không, và có một số hosting bắt buộc mail phải theo domain nên không sử dụng được Gmail. 5. Kết luậnỞ trên mình và các bạn vừa tìm hiểu về cách gửi mail trong php thông qua thư viện PHPMailer như đã nói ở trên, đây là một thư viện khá cơ bản và rất nhiều người biết đến rồi nhưng mình vẫn muốn giới thiệu lại để cho bạn nào chưa biết đến nó và đang gặp khó khăn trong vấn đề gửi mail có thể áp dụng được vào dự án của mình. Bài viết chỉ ở mức sơ khai các bạn có thể vận dụng sao cho linh hoạt để nó trở nên hữu dụng. Và kỹ năng lập trình của mình còn hạn chế, cũng như kiến thức có hạn nên có thể trong bài viết có nhiều chỗ không đúng thì mong được nhận sự góp ý từ phía các bạn để mình củng cố thêm. Và cũng mong các bạn thông cảm. Các bạn có gì không hiểu hay thắc mắc có thể đặt câu hỏi tại đây hoặc hỏi trong group đẻ được hỗ trợ tốt nhất. Không nên hỏi nhưng câu hỏi khó để tránh tình trạng tác giá bối rối không biết trả lời. Mình rất khuyến khích các mem nữ hỏi những câu kiểu như có người yêu chưa? Mình làm được quen được không? Tối đi chơi đi?…. Cuối cùng hy vọng bài viết này hữu dụng với các bạn. Chúc các bạn học tốt! Bài viết được đóng góp bởi bạn ChiPheo |