Biểu mẫu liên hệ php với xác thực smtp

Hôm nay tôi muốn chia sẻ với các bạn hướng dẫn gửi email PHP, một trong những ngôn ngữ phát triển web phổ biến nhất

Hàm thư tích hợp PHP []

Có hai cách cơ bản để gửi email với PHP. chức năng thư tích hợp và các gói thư bên ngoài

Chức năng thư tích hợp sẵn của PHP [] rất đơn giản nhưng đồng thời, nó cung cấp một chức năng hạn chế để gửi email. Bạn sẽ không thể thêm tệp đính kèm vào email của mình và việc xây dựng một mẫu HTML đẹp với hình ảnh được nhúng cũng sẽ là một nhiệm vụ khó khăn

Mặt khác của chức năng thư PHP [] là email được gửi từ máy chủ web của bạn, điều này có thể gây ra sự cố về khả năng gửi do lo ngại về bảo mật như nghi ngờ thư rác và danh sách đen. Cách tốt nhất để khắc phục vấn đề này là gửi tin nhắn qua máy chủ SMTP, tuy nhiên, chức năng này cũng bị hạn chế. Thư PHP[] thường không cho phép bạn sử dụng máy chủ SMTP bên ngoài và nó không hỗ trợ xác thực SMTP

Nói cách khác, tôi không khuyên bạn nên sử dụng hàm mail[] tích hợp sẵn trong PHP và khuyên bạn nên tránh những vấn đề đau đầu mà nó có thể gây ra bằng cách cài đặt gói thư bên ngoài

Nếu bạn vẫn cam kết sử dụng hàm thư tích hợp PHP[] và sẵn sàng chấp nhận thử thách, hãy xem mã cơ bản và các tham số chính của nó

Cú pháp và tham số
Cú pháp thư PHP khá đơn giản.


Nó sử dụng các tham số sau

  • “$to” = [những] người nhận tin nhắn của bạn. Định dạng địa chỉ email có thể là user@example. com hoặc Người dùng user@example. com. Nếu có nhiều người nhận, hãy phân tách họ bằng dấu phẩy [-s]
  • “subject” = chủ đề tin nhắn của bạn “tin nhắn” = nội dung tin nhắn của bạn. Các dòng phải được phân tách bằng CRLF [\r\n]. Mỗi dòng không được vượt quá 70 ký tự
  • “[$headers]” = người nhận thêm tin nhắn của bạn, có thể được bao gồm trong CC hoặc BCC. Tiêu đề là tùy chọn, ngoại trừ tiêu đề "từ". nó phải được chỉ định, nếu không, bạn sẽ nhận được thông báo lỗi như Cảnh báo. email[]. "sendmail_from" không được đặt trong php. ini hoặc tùy chỉnh "Từ. " thiếu tiêu đề

Để biết thêm chi tiết và tham số bổ sung, hãy tham khảo tài liệu PHP

Gửi email HTML bằng hàm PHP mail[]

Phần thân của thư có thể được viết bằng HTML. Tuy nhiên, như tôi đã đề cập ở trên, nó phải đơn giản. Trong hàm thư PHP[], phần HTML sẽ như thế này

// Message
$message = '


  Review Request Reminder


  

Here are the cases requiring your review in December:

Case titleCategoryStatusDue date
Case 1DevelopmentpendingDec-20
Case 1DevOpspendingDec-21
';

Điều quan trọng cần nhớ là để gửi thư HTML, bạn cần đặt tiêu đề Kiểu nội dung

$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';

Gửi email qua máy chủ SMTP trong PHP

Tôi chỉ định cài đặt SMTP ở đâu? . Chuyển đến thư mục cài đặt PHP và định cấu hình chúng trong tệp “php. tập tin ini”. Nhưng điều này sẽ chỉ hoạt động đối với các giải pháp giống như localhost hoặc Xmapp vì như tôi đã đề cập, chức năng thư PHP không hỗ trợ xác thực SMTP và không cho phép gửi thư qua máy chủ bên ngoài

Có một số tùy chọn khác khá lộn xộn nhưng tôi sẽ không quảng bá chúng và khuyên bạn nên sử dụng các gói thư PHP bên ngoài để gửi email qua máy chủ SMTP bên ngoài

PHPMailer

PHPMailer là thư viện gửi email cổ điển cho PHP. Nó hỗ trợ một số cách gửi email như mail[], Sendmail, qmail và gửi trực tiếp đến máy chủ SMTP. Bên cạnh đó, nó cung cấp một danh sách các tính năng nâng cao

  • xác thực SMTP
  • Mã hóa bảo mật/MIME
  • Hỗ trợ các giao thức TLS và SSL
  • Nội dung HTML cùng với văn bản thuần túy
  • Nhiều tệp đính kèm fs, chuỗi và nhị phân
  • Hỗ trợ hình ảnh nhúng

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 PHPMailer

Cho đến phiên bản 5, PHPMailer đã cung cấp “PHPMailerAutoload. php”, do đó, bạn chỉ cần đưa nó vào tập lệnh của mình và tạo một phiên bản PHPMailer.
Bắt đầu từ PHPMailer 6. 0 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, trình quản lý phụ thuộc cho PHP [cách này được khuyến nghị bởi những người tạo PHPMailer 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.

"phpmailer/phpmailer": "~6.0"

hoặc chạy

composer require phpmailer/phpmailer

Ví dụ: nếu bạn không muốn cài đặt Trình soạn thảo, trong khi làm việc trong môi trường thử nghiệm, bạn có thể 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à

Chủ Đề