Tìm hiểu cách gửi email từ một kịch bản PHP bằng cách sử dụng xác thực SMTP đơn giản

Cách kết nối với máy chủ SMTP gửi đi từ tập lệnh PHP

Gửi một email từ một kịch bản PHP đơn giản, nhanh chóng và dễ dàng ... nếu nó hoạt động!

Một phần của điều làm cho hàm PHP mail () đơn giản là thiếu tính linh hoạt, nhưng một vấn đề với điều đó là thư PHP () thường không cho phép bạn sử dụng máy chủ SMTP mà bạn chọn, và nó không hỗ trợ xác thực SMTP.

May mắn thay, khắc phục những thiếu sót tích hợp của PHP không khó. Đối với hầu hết người dùng email, gói PEAR Mail miễn phí cung cấp tất cả sức mạnh và tính linh hoạt cần thiết và nó xác thực với máy chủ thư đi mong muốn của bạn. Để tăng cường bảo mật, các kết nối SSL được mã hóa cũng được hỗ trợ để gửi thư bằng cách sử dụng Thư PEAR.

Làm thế nào để gửi email từ một kịch bản PHP với xác thực SMTP

Để bắt đầu, hãy cài đặt gói PEAR Mail. Thông thường, điều này sẽ được thực hiện cho bạn với PHP 4 trở lên, nhưng nếu bạn không chắc chắn nếu bạn đã có nó, hãy tiếp tục và cài đặt nó.

Sao chép mã này:

Người gửi Sandra >"; $ đến = " Người nhận Ramona "; $ subject = "Xin chào!"; $ body = "Xin chào, \ n \ nBạn là ai?"; $ host = " mail.example.com "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('Từ' => $ từ, 'Tới' => $ đến, 'Chủ đề' => $ chủ đề); $ smtp = Mail :: factory ('smtp', mảng ('host' => $ host, 'auth' => true, 'username' => $ username, 'password' => $ password)); $ mail = $ smtp-> gửi ($ đến, $ headers, $ body); if (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } else {echo ("

Thư được gửi thành công! "); }?>

Định vị tất cả văn bản in đậm trong ví dụ của chúng tôi và thay đổi các khu vực đó của tập lệnh thành bất kỳ điều gì có liên quan đến bạn. Đó là những khu vực duy nhất mà bạn phải thay đổi để kịch bản PHP hoạt động, nhưng cũng phải chắc chắn điều chỉnh chủ đề và nội dung của văn bản.

  • from : Địa chỉ email mà bạn muốn gửi tin nhắn
  • tới : Địa chỉ email và tên người nhận
  • host : Tên máy chủ SMTP gửi đi của bạn
  • tên người dùng : Tên người dùng SMTP (thường giống với tên người dùng được sử dụng để truy xuất thư)
  • mật khẩu : Mật khẩu để xác thực SMTP

Lưu ý: Ví dụ trên là một tập lệnh PHP gửi một email có xác thực SMTP nhưng không có mã hóa SSL. Nếu bạn muốn mã hóa là tốt, sử dụng kịch bản này thay vào đó, một lần nữa, trao đổi văn bản in đậm với thông tin của bạn.

Người gửi Sandra >"; $ đến = " Người nhận Ramona >"; $ subject = "Xin chào!"; $ body = "Xin chào, \ n \ nBạn là ai?"; $ host = " ssl: //mail.example.com "; $ port = " 465 "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array ('Từ' => $ từ, 'Tới' => $ đến, 'Chủ đề' => $ chủ đề); $ smtp = Mail :: factory ('smtp', mảng ('host' => $ host, 'port' => $ port, 'auth' => true, 'username' => $ username, 'password' => $ password)); $ mail = $ smtp-> gửi ($ đến, $ headers, $ body); if (PEAR :: isError ($ mail)) {echo ("

". $ mail-> getMessage (). ""); } else {echo ("

Thư được gửi thành công! "); }?>