Gửi biểu mẫu email PHP
Gửi thư đến email cụ thể trở thành vấn đề toàn cầu để phát triển trang web. Giao tiếp trực tuyến cho bất kỳ tổ chức nào với khách hàng hoặc người dùng được thực hiện bằng cách gửi email cho họ hoặc thông qua nhận xét. Các tổ chức hoặc công ty này sử dụng biểu mẫu phản hồi hoặc liên hệ để giao tiếp với người dùng Show
Thông qua các biểu mẫu này, người dùng có thể gửi đề xuất hoặc phản hồi của mình qua email đến tổ chức tương ứng Ở đây, trong blog này, chúng tôi sẽ chỉ cho bạn cách sử dụng hàm mail() của PHP để gửi thông tin như đề xuất/tin nhắn đến địa chỉ email cụ thể khi gửi biểu mẫu chúng tôi đã sử dụng hàm PHP mail() sau với bốn tham số để gửi email như sau
Bạn có thể tải xuống tệp zip của chúng tôi hoặc chỉ cần làm theo mã của chúng tôi và chỉnh sửa nó để sử dụng -. Xem thêm. - Biểu mẫu liên hệ jQuery Tải xuống tập lệnh
Hầu hết các công ty lưu trữ mới đã ngừng hoạt động PHP (thư), bởi vì sử dụng trình gửi thư rác này có thể gửi hàng nghìn email. Nếu máy chủ của bạn không được bật chức năng thư PHP, bạn có thể gửi bằng PHP Mailer Class Bạn đã mua một miền và tạo tài khoản email đầu tiên của mình. Đã đến lúc gửi một số email, nhưng bạn không hoàn toàn chắc chắn về cách thực hiện việc đó Nếu trang web hoặc ứng dụng web của bạn được xây dựng trên PHP, bạn có thể gửi email qua tính năng thư PHP. Điều này có thể hữu ích để tạo các biểu mẫu thư được tạo tùy chỉnh và gửi các email dựa trên văn bản đơn giản Thông thường, có hai tùy chọn để gửi email bằng PHP – hàm PHP mail() sẵn có hoặc thư viện gửi thư như PHPMailer Trong hướng dẫn này, chúng tôi sẽ đề cập đến sự khác biệt giữa hàm PHP mail() và PHPMailer và chỉ cho bạn cách gửi email bằng chúng
Tại sao và khi nào sử dụng Thư PHP?Chúng tôi khuyên bạn nên sử dụng gói gửi thư PHP bên ngoài nếu bạn muốn gửi nhiều email an toàn hơn. Hàm PHP mail() gốc không phù hợp với số lượng lớn email, vì nó mở và đóng kết nối ổ cắm Giao thức truyền thư đơn giản (SMTP) với mỗi email Tạo dựng uy tín thương hiệu với dịch vụ lưu trữ email chuyên nghiệp. Nhận dịch vụ lưu trữ email Có nhiều gói thư PHP để lựa chọn, bao gồm Pear Mail và Swift Mailer. Trong bài viết này, chúng tôi sẽ sử dụng PHPMailer Trước khi bắt đầu, đây là tóm tắt nhanh về ưu và nhược điểm của hàm PHP mail() và PHPMailer mail() ưu điểm
mail() nhược điểm
Ưu điểm của PHPMailer
Nhược điểm của PHPMailer
Cách sử dụng PHPMailer để gửi emailPHPMailer là thư viện gửi mail phổ biến hỗ trợ gửi qua hàm mail() hoặc qua SMTP server. Nó cấp quyền truy cập vào một tập hợp các chức năng để gửi email, đơn giản hóa quá trình định cấu hình thư PHP Cài đặt PHPMailerViệc cài đặt PHPMailer khá đơn giản, đặc biệt nếu bạn đã cài đặt Composer. Các gói lưu trữ đám mây và chia sẻ của chúng tôi bao gồm hai phiên bản của phần mềm này Nếu bạn cần phiên bản Composer cũ hơn, hãy sử dụng lệnh composer. Mặt khác, nếu bạn cần một phiên bản mới hơn hoặc phiên bản PHP của bạn là 8+, hãy sử dụng lệnh composer2 Để cài đặt PHPMailer theo cách thủ công, hãy làm theo các bước sau
cd public_html
composer2 require phpmailer/phpmailer
Hiểu các thành phần PHPMailerĐể hiểu cách thức hoạt động của PHPMailer, hãy xem lại từng thành phần tập lệnh ở trên
Dòng trên nhập lớp PHPMailer vào không gian tên chung
Dòng này bao gồm các thư viện khác nhau mà PHPMailer cần
Điều này tạo ra một đối tượng PHPMailer mới
Mã ở đây yêu cầu lớp PHPMailer sử dụng cấu hình SMTP tùy chỉnh được xác định trong tập lệnh thay vì máy chủ thư cục bộ
Lệnh SMTPDebug cho phép bạn phát hiện nếu có sự cố xảy ra với kết nối SMTP ________số 8_______Đây là nơi chỉ định địa chỉ máy chủ SMTP
Đặt cổng SMTP tại đây
Dòng này được sử dụng để bật xác thực SMTP composer2 require phpmailer/phpmailer0 Chỉ định địa chỉ email của bạn ở đây composer2 require phpmailer/phpmailer1 Tại đây, nhập mật khẩu email của bạn composer2 require phpmailer/phpmailer2 Đây là nơi bạn chèn địa chỉ email của người gửi composer2 require phpmailer/phpmailer3 Dòng này sẽ cho người nhận biết họ nên trả lời địa chỉ nào composer2 require phpmailer/phpmailer4 Chèn địa chỉ của người nhận vào đây composer2 require phpmailer/phpmailer5 Thêm dòng chủ đề của email tại đây composer2 require phpmailer/phpmailer6 Dòng này đọc nội dung thư HTML từ tệp bên ngoài. Hàm file_get_contents() sẽ tải nội dung từ tin nhắn. html, một tệp cục bộ nằm trong thư mục public_html và đưa nó vào thư composer2 require phpmailer/phpmailer7 Dòng này chứa nội dung thư Mẹo chuyên nghiệpTránh "kiểm tra" và "kiểm tra" trong nội dung hoặc chủ đề email. Những điều khoản như vậy có thể khiến máy chủ thư của người nhận nghi ngờ bạn đang gửi thư rác và chặn email composer2 require phpmailer/phpmailer8 Nếu bạn muốn bao gồm tệp đính kèm, hãy bao gồm tên tệp và xóa dấu gạch chéo kép khỏi câu lệnh này composer2 require phpmailer/phpmailer9 Dòng này xác định điều gì sẽ xảy ra khi tập lệnh được thực thi 0Thao tác này sẽ hiển thị thông báo lỗi cùng với lời giải thích nếu tập lệnh không gửi được 1}else{ mở rộng câu lệnh if và mô tả điều gì sẽ xảy ra nếu điều kiện trước đó không được đáp ứng 2Giả sử email đã được gửi thành công, thông báo này sẽ xuất hiện Mẹo chuyên nghiệpSMTPDebug = 2; . Nhớ đổi thành SMTPDebug = 0; Sử dụng PHPMailer với Hostinger SMTPSau khi cài đặt PHPMailer, cuối cùng bạn cũng có thể bắt đầu gửi email PHP Trong phần này, chúng tôi sẽ hướng dẫn bạn cách gửi email thông qua máy chủ SMTP của Hostinger bằng PHPMailer Mẹo chuyên nghiệpNếu bạn đang sử dụng Titan Mail, hãy sử dụng máy chủ SMTP của nó để thay thế
3
Tạo biểu mẫu liên hệ PHPMailerNgoài việc sử dụng PHPMailer để gửi thư PHP đơn giản, người dùng cũng có thể sử dụng nó để tạo biểu mẫu liên hệ, cho phép khán giả liên hệ với họ Tương tự như các tập lệnh PHP trước đây, việc tạo một tệp PHP mới trong thư mục public_html là điều cần thiết trước khi tiếp tục. Đặt tên cho nó. php Sao chép và dán tập lệnh bên dưới vào tệp mới tạo và sửa đổi thông tin bên trong cho phù hợp 4Mẹo chuyên nghiệpLấy đầu vào của người dùng từ $_POST và sử dụng nó không được làm sạch sẽ không an toàn do các cuộc tấn công kịch bản chéo trang (XSS). Để tránh điều này, hãy xem các phương pháp hay nhất để khử trùng biến PHP Lưu các thay đổi của bạn, sau đó chạy tập lệnh từ trình duyệt của bạn Đây là kết quả sẽ như thế nào Nếu khách truy cập gửi tin nhắn qua biểu mẫu, họ sẽ nhận được thông báo xác nhận và nội dung của biểu mẫu sẽ đến hộp thư đến của địa chỉ email bạn đã nhập tại đây composer2 require phpmailer/phpmailer4 Mẹo chuyên nghiệpNếu biểu mẫu liên hệ PHPMailer không hoạt động, hãy thay đổi $mail->SMTPDebug = 0; . Đừng quên xóa dòng hoặc thay đổi 2 thành 0 sau đó Để xem các ví dụ khác về cách sử dụng thư viện gửi email này, hãy truy cập kho lưu trữ chính thức của PHPMailer trên GitHub Nếu bạn là người dùng WordPress, thay vào đó, bạn có thể sử dụng các plugin biểu mẫu liên hệ như Formidable Forms, Gravity Forms hoặc WPForms để tạo biểu mẫu liên hệ Cách gửi email bằng hàm PHP Mail()Một phương pháp khác để gửi email trực tiếp từ tập lệnh PHP là hàm mail() tích hợp sẵn. Để sử dụng tính năng gửi thư PHP, người dùng lưu trữ ứng dụng hoặc trang web PHP của họ trên máy chủ cục bộ sẽ cần định cấu hình chương trình Sendmail bằng cách thay đổi tệp php. ini trong thư mục cài đặt PHP của họ Nếu bạn sử dụng máy chủ lưu trữ, Sendmail thường được cấu hình sẵn. Tuy nhiên, bạn phải đảm bảo rằng nhà cung cấp dịch vụ lưu trữ của bạn cho phép bạn quản lý tùy chọn dịch vụ Sendmail theo cách thủ công Người dùng Hostinger có thể chuyển đổi chức năng này bằng cách truy cập hPanel và điều hướng đến Email → Mail Service Control Theo mặc định, dịch vụ Sendmail đã được bật sẵn. Tuy nhiên, hãy kiểm tra lại để chắc chắn Quan trọng. Chức năng PHP Mail sẽ được bật mặc định nếu bạn sử dụng Titan Mail. Do đó, không thể bật hoặc tắt nó trong hPanel Hiểu các thành phần thư PHPĐể giúp bạn hiểu hàm PHP mail(), chúng tôi sẽ xem xét các thành phần của tập lệnh PHP mà chúng tôi đã sử dụng trong phần trước 6Hai dòng đầu tiên ở trên cho phép báo lỗi để thông báo cho bạn nếu tập lệnh PHP không thực thi được 7Dòng này phải chứa địa chỉ email của người gửi. Hầu hết các nhà cung cấp dịch vụ lưu trữ cấm thêm địa chỉ email ngẫu nhiên vào đây, vì nó có thể được sử dụng để giả mạo. Vì vậy, tốt hơn hết bạn nên sử dụng tên miền của mình để thực thi thành công tập lệnh 8Địa chỉ email của người nhận ở đây. Để gửi thư cho nhiều người nhận, hãy phân tách các địa chỉ email bằng dấu phẩy 9Nhập dòng chủ đề cho email tại đây 0Tại đây, hãy nhập nội dung email của bạn 1Dòng này thường được sử dụng để thêm các tiêu đề bổ sung, chẳng hạn như Từ, Trả lời đến và Cc – các tiêu đề bổ sung này phải được phân tách bằng CRLF 2Dòng này được sử dụng để thực thi chức năng và kiểm tra xem nó đã chạy thành công chưa 3Thông báo trên sẽ xuất hiện khi tập lệnh được thực thi thành công 4Ngoài ra, thông báo này sẽ được hiển thị nếu nó không thành công Hãy nhớ rằng mặc dù các tiêu đề bổ sung là tùy chọn, nhưng điều cần thiết là phải đề cập đến tiêu đề Từ khi gửi thư. Nếu không, bạn sẽ nhận được thông báo như thế này 5Để biết thêm thông tin về chức năng Sendmail và các tham số của nó, hãy tham khảo tài liệu PHP chính thức Tạo tệp thử nghiệm cho thư PHPSau khi đảm bảo rằng Sendmail đang hoạt động, chúng ta phải tạo một tệp tập lệnh thư PHP và đặt nó vào thư mục public_html Đây là cách thực hiện
6
Gửi thư HTML bằng PHPHàm PHP mail() cũng có thể được sử dụng để gửi email có định dạng HTML. Định dạng này có khả năng tùy biến cao so với tin nhắn văn bản thuần túy Quy trình gửi thư HTML cũng giống như vậy, nhưng lần này bạn cần gửi thư HTML và các tiêu đề tham số bổ sung Dưới đây là một ví dụ về tập lệnh cơ bản để gửi email có định dạng HTML 7Cách khắc phục các lỗi PHP Mail và PHPMailer phổ biếnTrong phần sau, chúng ta sẽ xem xét một số vấn đề phổ biến nhất có thể xảy ra khi sử dụng hàm PHP mail() hoặc PHPMailer và cách khắc phục chúng Địa chỉ người gửi bị từ chối. Không thuộc sở hữu của người dùngLỗi này có nghĩa là máy chủ không thể xác thực người gửi bằng các chi tiết được cung cấp. Để khắc phục, hãy kiểm tra địa chỉ email bạn đã sử dụng để gửi thư và đảm bảo địa chỉ đó tương ứng với địa chỉ hiện có Ngoài ra, hãy đảm bảo Khung chính sách người gửi (SPF) của bạn được bật. Nếu bạn sử dụng Hostinger, hãy kiểm tra bản ghi SPF của bạn bằng cách truy cập hPanel và điều hướng đến Email → Tài khoản email → Cài đặt DNS → Quản lý gửi email Nếu bản ghi SPF được bật, nó sẽ được hiển thị là Đang hoạt động Gmail không thể xác minh tên miền đó. TLD đã gửi tin nhắn nàyNếu bạn thấy cảnh báo này khi kiểm tra tập lệnh thư PHP, nguyên nhân có thể là do một trong các nguyên nhân sau
Thư Chuyển đến Thư mục Thư rácCó nhiều lý do khiến thư PHP có thể kích hoạt bộ lọc thư rác. Một số ví dụ phổ biến nhất bao gồm
Phần kết luậnGửi email là một chiến lược tiếp thị cơ bản cho bất kỳ doanh nghiệp hoặc trang web nào. Hàm PHP mail() phù hợp để gửi một lượng nhỏ tin nhắn dựa trên văn bản đơn giản. Trong khi đó, PHPMailer là phương pháp tốt hơn và an toàn hơn để gửi email hàng loạt hoặc tạo biểu mẫu liên hệ Để gửi email bằng tính năng thư PHP, hãy tạo một tệp PHP mới trong thư mục public_html và nhập hàm mail(). Sau đó, thực thi tập lệnh bằng trình duyệt web của bạn Đối với việc gửi email bằng PHPMailer, bạn sẽ cần cài đặt một công cụ chuyên dụng, tạo một tài khoản email cho nó và bao gồm các giá trị từ cài đặt SMTP của bạn trong tập lệnh của PHPMailer. Tạo một tệp PHP mới trong thư mục public_html cũng rất cần thiết Trong hướng dẫn này, chúng tôi đã giới thiệu quá trình cài đặt PHPMailer và tạo tập lệnh thử nghiệm cùng với biểu mẫu chức năng. Chúng tôi cũng đã đề cập đến quá trình gửi email bằng hàm PHP mail() Chúng tôi hy vọng bạn thấy hướng dẫn này hữu ích. Nếu bạn có thêm bất kỳ câu hỏi nào, hãy để lại chúng trong phần bình luận Tác giả Domantas G Domantas dẫn dắt các nhóm nội dung và SEO về phía trước với những ý tưởng mới và phương pháp tiếp cận vượt trội. Được trang bị kiến thức sâu rộng về SEO và tiếp thị, anh đặt mục tiêu quảng bá Hostinger đến mọi nơi trên thế giới. Trong thời gian rảnh rỗi, Domantas thích trau dồi kỹ năng phát triển web của mình và đi du lịch đến những nơi xa lạ Thêm từ Domantas G Đồng tác giả Ignas R Ignas rất hài lòng khi giúp mọi người giải quyết ngay cả những vấn đề kỹ thuật phức tạp nhất. Mục tiêu hiện tại của anh ấy là viết những bài dễ theo dõi để những vấn đề này sẽ không xảy ra nữa. Trong thời gian rảnh rỗi, Ignas thích chơi trò chơi điện tử và sửa chữa mọi thứ xung quanh nhà của mình Làm cách nào để gửi email HTML bằng php?Gửi email HTML bằng PHP . Sử dụng hàm PHP mail() và cung cấp các tham số cần thiết. to – Địa chỉ email người nhận. . Tiêu đề kiểu nội dung là bắt buộc để gửi email có định dạng HTML Các tiêu đề bổ sung được sử dụng để thêm Từ, Cc, Bcc, v.v. Biến $htmlContent chứa nội dung HTML của email Làm cách nào để gửi email xác nhận cho người dùng sau khi gửi biểu mẫu bằng php?1 câu trả lời . tạo một trường được kích hoạt trong cơ sở dữ liệu (mặc định là sai) Sau khi đăng ký, email được gửi Điền một liên kết trong email, để bao gồm. a) mã định danh duy nhất của người dùng b) kích hoạt để hoạt động. . Tập lệnh đăng ký của bạn cố lấy người dùng theo id Cập nhật trường đã kích hoạt thành true Làm cách nào để gửi thư SMTP bằng php?Viết mã PHP để gửi email bằng Gmail SMTP . Bước 1. Tải xuống thư viện PHPMailer từ liên kết github này. . Bước 2. Viết mã PHP để tạo kết nối SMTP. . Bước 3. Bao gồm các gói và tệp cho giao thức PHPMailer và SMTP. . Bước 4. Khởi tạo PHP Mailer và đặt SMTP làm giao thức gửi thư |