Làm cách nào để cài đặt PHPMailer trong PHP?
Khi nói đến việc thêm chức năng email vào ứng dụng PHP của bạn, lớp PHPMailer là lựa chọn tốt nhất. Nó tương thích với hầu hết các framework PHP (Tuy nhiên, Laravel hoặc Symfony dựa trên thư viện SwiftMailer, nhưng vẫn có thể sử dụng PHPMailer. ) PHPMailer cung cấp chức năng mạnh mẽ để tạo email HTML có tệp đính kèm và gửi chúng tới nhiều người nhận thông qua SMTP hoặc máy chủ web cục bộ. Tìm hiểu cách dễ dàng sử dụng tất cả các tùy chọn này trong hướng dẫn này. Show
PHPMailer là gìPHPMailer là thư viện gửi email cổ điển cho PHP. Nó hỗ trợ một số cách gửi email, chẳng hạn như mail(), Sendmail, qmail và gửi trực tiếp đến máy chủ SMTP. Ngoài ra, nó cung cấp nhiều tính năng nâng cao
Gửi Email Với PHPMailer và SMTPĐể gửi email bằng PHPMailer và SMTP, trước tiên bạn cần cài đặt PHPMailer và định cấu hình cài đặt SMTP Cách cài đặt PHPMailerCho đến phiên bản 5, PHPMailer đã cung cấp “PHPMailerAutoload. php”, vì vậy tất cả những gì cần thiết là đưa nó vào tập lệnh của bạn và tạo một phiên bản PHPMailer. Bắt đầu từ PHPMailer 6. 0, phát hành vào tháng 8 năm 2017, bạn cần cài đặt nó, tốt nhất là thông qua Composer, một trình quản lý phụ thuộc cho PHP (cách này được những người tạo PHPMailer khuyên dùng trên Github). Sau khi cài đặt Trình soạn thảo, hãy thêm dòng này vào trình soạn nhạc của bạn. tập tin json
hoặc chạy
Ví dụ: nếu bạn không muốn cài đặt Composer khi làm việc trong môi trường thử nghiệm, bạn có thể thêm PHPMailer theo cách thủ công. Tải xuống các tệp có mã nguồn PHPMailer, sau đó sao chép nội dung của thư mục PHPMailer vào một trong các thư mục include_path được chỉ định trong cấu hình PHP của bạn và tải từng tệp lớp theo cách thủ công
Thêm lớp Exception sẽ giúp bạn xử lý lỗi và gỡ lỗi chúng. Trong PHP nó hoạt động tương tự như các ngôn ngữ lập trình khác. Vì vậy, nếu không có nó, nếu có lỗi trong mã gửi email của bạn, bạn sẽ chỉ thấy một thông báo cho biết Không tìm thấy lớp ngoại lệ, nhưng bạn sẽ không được cung cấp bất kỳ chi tiết nào về cách gỡ lỗi. Chúng tôi sẽ mô tả gỡ lỗi trong một phần riêng biệt của bài đăng này Để xem hướng dẫn chi tiết về cài đặt, hãy kiểm tra tài liệu PHPMailer trên Github cấu hình SMTPĐể PHPMailer có thể gửi email từ ứng dụng PHP của bạn, bạn sẽ cần kết nối nó với máy chủ SMTP Trước tiên, chúng tôi khuyên bạn nên sử dụng một công cụ kiểm tra email như Kiểm tra email Mailtrap và máy chủ SMTP của nó để kiểm tra chức năng trước khi gửi bất kỳ thứ gì đến người nhận thực. Khi bạn chắc chắn rằng mọi thứ đang hoạt động bình thường và email của bạn trông ổn, bạn có thể dễ dàng thay thế cài đặt SMTP Kiểm tra Email bằng cài đặt của máy chủ thực của bạn Ngoài việc cung cấp cho bạn cài đặt SMTP, Kiểm tra email còn cho phép bạn xem trước, kiểm tra và gỡ lỗi email theo giai đoạn. Bằng cách này, bạn có thể sửa bất kỳ lỗi nào trước khi gửi xong và không có nguy cơ gửi thư rác cho người nhận thực bằng email kiểm tra. Các tính năng đáng chú ý nhất của công cụ kiểm tra này bao gồm kiểm tra thư rác, xác thực HTML/CSS, báo cáo danh sách đen, v.v. Để bắt đầu sử dụng Kiểm tra email Mailtrap, hãy tạo một tài khoản miễn phí, đi tới Kiểm tra email-> Hộp thư đến và sao chép-dán cài đặt SMTP được cung cấp vào tập lệnh PHPMailer của bạn
Còn một điểm nữa cần đề cập về SMTP. POP-trước-SMTP để xác thực. Phương pháp này gần như được thay thế hoàn toàn bằng xác thực SMTP nhưng đôi khi vẫn có thể được sử dụng. Ưu điểm chính của nó là tính minh bạch cho người dùng đang gửi email. Kiểm tra trang Github này để lấy ví dụ về cách sử dụng POP-before-SMTP với PHPMailer Kiểm tra email của bạn ngay bây giờ Gửi email HTML qua SMTP bằng PHPMailerRất có thể bạn sẽ sử dụng HTML để thiết kế thông báo email của mình. Vì vậy, hãy xem xét một số ví dụ về việc sử dụng các phương thức và thuộc tính HTML Thông báo HTML cơ bảnNếu bạn đã sử dụng Trình soạn thảo để cài đặt, hãy bao gồm tải tự động do Trình soạn thảo tạo. tập tin php
Nếu bạn đã cài đặt PHPMailer theo cách thủ công, hãy khởi tạo nó như thế này
Sau đó tạo lớp PHPMailer
Bước tiếp theo là tạo một đối tượng PHPMailer mới
Bây giờ hãy chuyển sang cấu hình SMTP ________số 8_______Chỉ định tiêu đề PHPMailer
Nếu bạn cần thêm một số địa chỉ, hãy chỉ định từng địa chỉ đó dưới dạng một lệnh mới 0Với PHPMailer, bạn có thể lặp lại tin nhắn của mình và gửi cho nhiều người nhận. Đặc biệt, bạn có thể đọc một danh sách từ bảng. Chúng tôi sẽ xem xét các ví dụ như vậy một lát sau trong bài đăng này và bây giờ hãy quay lại thông báo cơ bản của chúng tôi. Đặt chủ đề 1Sau đó đặt định dạng email thành HTML với thuộc tính isHTML(true) 2Bây giờ bạn có thể nhập nội dung mong muốn 3Với PHPMailer, bạn cũng có thể tạo một email HTML đẹp mắt, với định dạng tùy chỉnh, hình ảnh và gửi email có tệp đính kèm. Để thuận tiện cho bạn, PHPMailer cung cấp tùy chọn đọc nội dung thư HTML từ tệp bên ngoài, chuyển đổi hình ảnh được tham chiếu thành nhúng cũng như chuyển đổi HTML thành nội dung thay thế văn bản thuần túy cơ bản. Bằng cách này, bạn sẽ không làm quá tải mã gửi tin nhắn của mình bằng HTML và sẽ có thể cập nhật mẫu HTML của mình một cách độc lập. Để bao gồm một tệp HTML riêng, hãy thêm các thuộc tính này 4Cuối cùng, chỉ định các thuộc tính gửi email 5Kết quả "Tin nhắn đã được gửi" thông báo cho bạn rằng mã của bạn đã được thực thi chính xác Vì bạn đã sử dụng cài đặt SMTP của Kiểm tra email Mailtrap, nên bạn có thể đi tới Kiểm tra email-> Hộp thư đến để kiểm tra xem email HTML của bạn trông như thế nào Chụp tất cả các email kiểm tra và kiểm tra tất cả chúng ở một nơi Email HTML có tệp đính kèmCó hai tùy chọn để thêm tệp vào tin nhắn của bạn.
Để đính kèm tệp, bạn chỉ cần chỉ định đường dẫn của nó. Ngoài ra, bạn có thể thêm tên tệp nhưng không bắt buộc. tập lệnh sẽ sử dụng tên thật của tệp của bạn 6Để thêm một tệp khác, hãy lặp lại lệnh 7Để thêm tệp đính kèm từ chuỗi, hãy sử dụng lệnh addStringAttachment(). Bạn nên chuyển nội dung và tên tệp 8Đây là một ví dụ về việc thêm dữ liệu được lưu trữ dưới dạng BLOB (Đối tượng lớn nhị phân) từ cơ sở dữ liệu MySQL Ngoài ra, bạn có thể sử dụng một URL từ xa, như bên dưới 9Để nhúng hình ảnh, chúng tôi sử dụng tệp đính kèm CID tại đây 0Cuối cùng, hãy xem lại một ví dụ về toàn bộ thư có hình ảnh nội tuyến và nội dung HTML bên trong 1Kết quả "Tin nhắn đã được gửi" thông báo cho bạn rằng mã của bạn đang thực thi chính xác. Để kiểm tra kết quả gửi và thông tin chi tiết, hãy truy cập hộp thư đến Mailtrap của bạn. tin nhắn của bạn sẽ đến đó sau vài giây Kiểm tra & Gỡ lỗi Email của bạn Gửi email cho nhiều người nhậnỞ trên, chúng tôi đã kiểm tra cách gửi một và cùng một email cho một số người nhận, bao gồm cả CCing và BCCing. Điều gì sẽ xảy ra nếu bạn cần gửi một tin nhắn đã sửa đổi đến một danh sách người nhận, danh sách này thường được yêu cầu đối với các email giao dịch? 2Kiểm tra những email như thế này trong một môi trường kiểm tra an toàn Cách sử dụng PHPMailer với Gmail SMTPGmail là một trong những máy chủ SMTP phổ biến nhất, cho phép bạn gửi email miễn phí. Gửi email bằng PHPMailer mà không cần máy chủ SMTPTùy chọn vận chuyển SMTP là phổ biến nhất và có thể sử dụng được với PHPMailer. Tuy nhiên, như chúng tôi đã đề cập, nó cũng hỗ trợ các cách khác. Đối với localhost, bạn có thể sử dụng chương trình Sendmail tiêu chuẩn 3Nếu bạn thích Unix hơn, hãy sử dụng qmail 4Tôi có thể gửi email mà không cần PHPMailer không?Nếu việc sử dụng PHPMailer không thực sự phù hợp với bạn, thì bạn thật may mắn, vì có rất nhiều cách khác để gửi email bằng PHP. Những bạn đang tìm kiếm một giải pháp nhanh chóng và không rắc rối nên cân nhắc gửi email bằng các dịch vụ email của bên thứ ba, chẳng hạn như Gửi email qua Mailtrap, là một phần của Nền tảng gửi email Mailtrap cùng với Kiểm tra email mà chúng tôi đã đề cập trước đó. Mailtrap Email Sending là một giải pháp gửi từ đầu đến cuối hoàn hảo để kiểm soát chức năng email của bạn và loại bỏ các sự cố gửi có thể ngăn email của bạn đến hộp thư đến của người nhận Sao có thể như thế được? Trang tổng quan rất hữu ích để thu thập thông tin chi tiết hữu ích về trạng thái cơ sở hạ tầng email của bạn, trong khi các cảnh báo giúp bạn biết về mọi vấn đề về khả năng gửi có thể xảy ra. Và nếu điều đó là không đủ, bạn cũng có thể tin tưởng vào các báo cáo hiệu suất khả năng gửi hàng tuần Tích hợp gửi email vào ứng dụng PHP của bạn khá đơn giản và chỉ yêu cầu bạn hoàn thành một vài bước đơn giản
5Và thì đấy, bạn đã hoàn tất Bắt đầu gửi bằng Mailtrap gỡ lỗiNếu bạn gặp một số rắc rối khi gửi email qua máy chủ SMTP, lệnh SMTPDebug sẽ giúp bạn khám phá những lỗi đó và tìm ra những gì cần khắc phục. Bật gỡ lỗi SMTP và đặt mức gỡ lỗi trong tập lệnh của bạn như sau 6
Sử dụng cấp 3 hoặc cấp 4 nếu bạn hoàn toàn không thể kết nối. Đặt mức 0 sẽ tắt gỡ lỗi, nó thường được sử dụng cho sản xuất. Để hiểu rõ hơn về cách hoạt động của quá trình gỡ lỗi trong PHPMailer, hãy xem lại một vài ví dụ. Ví dụ 1. Tên máy chủ SMTP không hợp lệ 7Đối với ví dụ này, chúng tôi đã nhập tên máy chủ không hợp lệ. bẫy thư. io thay vì smtp. bẫy thư. io. và ngay lập tức nhận được thông báo rằng đã xảy ra lỗi ở giai đoạn đầu tiên giao tiếp với máy chủ. ví dụ 2. Thông tin không hợp lệ 8Ví dụ này cho thấy lỗi xảy ra ở đâu. bây giờ SMTP, tên máy chủ và cổng của nó hợp lệ nhưng không tìm thấy kết hợp thông tin đăng nhập và mật khẩu, vì vậy bạn nên kiểm tra kỹ và sửa đổi thông tin đăng nhập của mình Có một số bài viết chi tiết trên GitHub về gỡ lỗi và khắc phục sự cố, hãy tham khảo chúng khi bạn cần tìm hiểu sâu hơn về các chủ đề này. Những điều khác bạn nên biết về PHPMailerTrong hướng dẫn này, chúng tôi đã xem xét các trường hợp sử dụng PHPMailer phổ biến nhất. tạo email HTML có hình ảnh và tệp đính kèm, gửi chúng qua SMTP hoặc localhost tới các loại người nhận khác nhau cùng với các tùy chọn gỡ lỗi. Làm cách nào để cài đặt PHPMailer trên XAMPP?Để định cấu hình XAMPP nhằm sử dụng PHPMailer cho thông báo qua email, hãy làm theo các bước sau. . Tải xuống PHPMailer từ kho lưu trữ Github của nó bằng nút "Tải xuống Zip" Tạo một thư mục cho ứng dụng mới của bạn trong thư mục con htdocs\ của thư mục cài đặt XAMPP của bạn Làm cách nào để cài đặt PHPMailer với Composer?Nhập " composer require phpmailer/phpmailer " và nhấn ↵ Enter . Terminal sẽ hiển thị một bức tường văn bản khi cài đặt Composer. Composer được cài đặt với một “autoload. php” mà bạn có thể sử dụng.
Làm cách nào để chạy PHPMailer trên máy chủ cục bộ?Gửi email từ Localhost bằng PHP . Bao gồm thư viện PHPMailer và tạo một thể hiện của lớp này Đặt thông tin đăng nhập SMTP (máy chủ, tên người dùng, mật khẩu và cổng) Chỉ định tên người gửi và email ( $mail->setFrom ) Đặt địa chỉ email người nhận ( $mail->addAddress ) Đặt chủ đề email ( $mail->Subject ) Làm cách nào để cài đặt PHPMailer trên cPanel?Trong phần Tệp, hãy tìm biểu tượng "Trình quản lý tệp". Nhấp vào thư mục "public_html" để mở nó. Tải tệp zip lên Trình quản lý tệp bằng nút "Tải lên" từ menu ngang gần trên cùng. Sử dụng nút "Trích xuất" trong menu ngang của Trình quản lý tệp để giải nén thư viện PHPMailer |