Chức năng thư PHP là gì?

Công nghệ tiến bộ – thế giới cũng vậy mỗi ngày. Nhưng có những thứ tồn tại mãi mãi. Giống như gửi email bằng PHP. Bạn có thể hoài nghi và suy nghĩ ngay cả trong năm 2022? . W3Techs báo cáo rằng, kể từ tháng 1 năm 2022, “PHP được sử dụng bởi 78. 1% trong số tất cả các trang web có ngôn ngữ lập trình phía máy chủ mà chúng tôi biết. ”

Điều đó nói rằng, hãy xem hướng dẫn này sẽ giúp bạn gửi email từ PHP ngay hôm nay

Gửi thư từ PHP. ba điều quan trọng mà bạn cần phải biết ngay lập tức

Một, có một hàm PHP mail[] tích hợp sẵn và nó khá đơn giản

Thứ hai, mặc dù hàm mail tích hợp sẵn của PHP [] rất đơn giản, nhưng nó cung cấp chức năng gửi email hạn chế. 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.  

Thứ ba, chức năng thư PHP [] gửi email từ trang 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. PHP mail[] cũng thường không cho phép bạn gửi thư bằng máy chủ SMTP bên ngoài và nó không hỗ trợ xác thực SMTP

Bạn có những tùy chọn nào để gửi email bằng PHP?

Có bốn cái phổ biến

  1. Hàm PHP mail[] tích hợp sẵn;
  2. PHPMailer;
  3. Người gửi thư Symfony;
  4. Các dịch vụ gửi email của bên thứ ba như Mailtrap, Sendgrid, Mailgun, v.v.

Chúng ta sẽ đi từng bước qua tất cả chúng

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

Mail[] là một trình bao bọc bên trên tiện ích sendmail, vì vậy, trước tiên, sendmail phải được cài đặt trong hệ thống

Đây là những gì bạn có thể làm với chức năng thư tích hợp PHP[].  

  • tạo tin nhắn văn bản/HTML đơn giản mà không cần tệp đính kèm và hình ảnh
  • gửi chúng cho một hoặc một số người nhận
  • bao gồm các tiêu đề bổ sung cho tin nhắn
  • thêm các tham số bổ sung vào lệnh `sendmail`

Hãy nhớ rằng khi bạn gửi email bằng mail[], bạn có thể gặp phải một số vấn đề nghiêm trọng về khả năng gửi. Các thư được gửi đi sẽ không được hưởng lợi từ việc thiết lập SPF và DKIM trên miền của bạn, do đó, các thư đó có thể sẽ bị MTA nhận [Tác nhân chuyển thư] coi là thư rác. Do đó, khả năng gửi tổng thể của thư email được gửi qua thư PHP [] không được đảm bảo. Hơn nữa, bạn sẽ không nhận được tin nhắn trả lại nếu có lỗi gử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 qua cú pháp tập lệnh PHP 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” = your message recipient[s]. The email address format may be user@example.com or User . In general, it needs to comply with RFC 2822. It is mandatory.
  • “$subject” = chủ đề tin nhắn của bạn.  
  • “$message” = nội dung thư của bạn. Các dòng phải được phân tách bằng LF [\n]. Mỗi dòng không được vượt quá 70 ký tự
  • “[$headers]” = tiêu đề bắt buộc là 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. thư[]. “sendmail_from” không được đặt trong php. ini hoặc tùy chỉnh “Từ. ” thiếu tiêu đề

Các tiêu đề bổ sung cho biết những người nhận khác hoặc bản sao thư của bạn như CC hoặc BCC. Chúng có thể là một mảng trong đó khóa là tên tiêu đề và giá trị là giá trị tiêu đề. Hoặc chúng có thể là một chuỗi. Trong trường hợp này, các tiêu đề phải được phân tách bằng CRLF [\r\n]

  • [$parameters] = để chỉ định các tham số bổ sung được xác định trong cài đặt cấu hình sendmail_path

Để 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ư chúng tôi đã đề cập ở trên, nó phải đơn giản.  

Trong hàm mail PHP[], phần tin nhắ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[] = 'Phiên bản MIME. 1. 0’;
$headers[] = ‘Kiểu nội dung. văn bản/html;

Giao thức truyền dẫn đơn giản [SMTP]

Tôi chỉ định cài đặt SMTP ở đâu? . Chuyển đến thư mục cài đặt tệp 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 tương tự như localhost hoặc XAMPP vì như chúng tôi đã đề cập, hàm PHP mail[] 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.  

Để gửi thư mà không cần SMTP, bạn cũng có thể tham khảo dịch vụ của bên thứ ba như Mailtrap, SendGrid hoặc Mailgun.  

Gửi nhiều email

Để gửi thư của bạn cho nhiều người nhận, hãy chỉ định địa chỉ email của họ trong tham số “$to” =  phân tách họ bằng dấu phẩy [-s].   

Đó là phương thức phù hợp duy nhất với hàm mail[] gốc. Nếu bạn cần gửi một lượng lớn thư trong một vòng lặp, hãy thử gói gửi thư bên ngoài như Symfony Mailer. Hoặc giải pháp của bên thứ ba

Làm cách nào để gửi email bằng PHP qua biểu mẫu liên hệ?

Ngoài ra còn có một vài cách để làm điều này. Và chủ đề này cần một hướng dẫn đặc biệt. Hoặc bạn chạy một trang web WordPress hoặc cần một biểu mẫu liên hệ đơn giản, hãy xem mã hóa này để biết biểu mẫu liên hệ PHP với Google reCaptcha.  

Chúng tôi giải thích cách thức hoạt động của nó một cách chi tiết, ngoài ra chúng tôi còn thực hiện nhiều cách khác để tạo biểu mẫu liên hệ trong PHP trong hướng dẫn đặc biệt của chúng tôi về mã PHP để gửi email từ biểu mẫu liên hệ. Điều chỉnh

Chủ Đề