Làm cách nào để gửi email bằng PHP mà không cần SMTP?

Định cấu hình cài đặt SMTP trên máy chủ cục bộ của bạn Giả sử bạn đang sử dụng xampp trên windows, hãy tìm tệp “php. ini” trong thư mục “C. \xampp\php”

  • Mở nó bằng notepad hoặc bất kỳ trình soạn thảo văn bản nào. Chúng tôi sẽ sử dụng notepad trong ví dụ này. Nhấp vào menu chỉnh sửa

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

  • Nhấp vào menu Tìm…

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

  • Menu hộp thoại tìm sẽ xuất hiện

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

  • Nhấp vào nút Tìm tiếp theo

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

  • Xác định vị trí các mục
    • [chức năng thư]
    • ; . Không xóa nửa cột nếu bạn muốn làm việc với Máy chủ SMTP như Mercury
    • ;
    • ;
    • Xóa dấu chấm phẩy trước SMTP và smtp_port và đặt SMTP thành máy chủ smtp của bạn và cổng thành cổng smtp của bạn. Cài đặt của bạn sẽ trông như sau
      • SMTP = smtp. ví dụ. com
      • smtp_port = 25
      • Lưu ý cài đặt SMTP có thể được nhận từ nhà cung cấp dịch vụ lưu trữ web của bạn
      • Nếu máy chủ yêu cầu xác thực thì thêm các dòng sau
        • auth_username = example_username@example. com
        • auth_password = ví dụ_mật khẩu
        • Lưu các thay đổi mới
        • Khởi động lại máy chủ Apache

Ví dụ thư PHP

Bây giờ chúng ta hãy xem một ví dụ gửi một thư đơn giản

đầu ra

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

Ghi chú. ví dụ trên chỉ lấy 4 tham số bắt buộc

Bạn nên thay thế địa chỉ email hư cấu ở trên bằng một địa chỉ email thực

Vệ sinh đầu vào của người dùng email

Ví dụ trên sử dụng các giá trị được mã hóa cứng trong mã nguồn cho địa chỉ email và các chi tiết khác để đơn giản hóa

Giả sử bạn phải tạo biểu mẫu liên hệ với chúng tôi để người dùng điền thông tin chi tiết rồi gửi

  • Người dùng có thể vô tình hoặc cố ý chèn mã vào các tiêu đề có thể dẫn đến việc gửi thư rác
  • Để bảo vệ hệ thống của bạn khỏi các cuộc tấn công như vậy, bạn có thể tạo một chức năng tùy chỉnh để khử trùng và xác thực các giá trị trước khi gửi thư

Hãy tạo một hàm tùy chỉnh để xác thực và làm sạch địa chỉ email bằng cách sử dụng hàm tích hợp filter_var

Hàm filter_var Hàm filter_var được sử dụng để khử trùng và xác thực dữ liệu đầu vào của người dùng

Nó có cú pháp cơ bản sau

ĐÂY,

  • “filter_var(…)” là chức năng xác thực và khử trùng
  • “$field” là giá trị của trường cần lọc
  • “LOẠI VỆ SINH” là loại vệ sinh được thực hiện trên sân như;
    • FILTER_VALIDATE_EMAIL – nó trả về true cho các địa chỉ email hợp lệ và false cho các địa chỉ email không hợp lệ
    • FILTER_SANITIZE_EMAIL – nó xóa các ký tự không hợp lệ khỏi địa chỉ email. thông tin\@miền. (com) trả về info@domain. com
    • FILTER_SANITIZE_URL – nó xóa các ký tự không hợp lệ khỏi URL. http. //www. ví dụ@. đến trở lại >http. //www. ví dụ@. com
    • FILTER_SANITIZE_STRING – it removes tags from string values. am bold becomes am bold.

Mã bên dưới triển khai sử dụng chức năng tùy chỉnh để gửi thư an toàn

đầu ra

Làm cách nào để gửi email bằng PHP mà không cần SMTP?

thư an toàn

Email có thể bị chặn trong quá trình truyền bởi người nhận ngoài ý muốn

Điều này có thể làm lộ nội dung của email cho những người nhận ngoài ý muốn

Thư an toàn giải quyết vấn đề này bằng cách truyền email qua Bảo mật Giao thức Truyền Siêu văn bản (HTTPS)

PhpMailer, thư không có máy chủ SMTP

Xin chào,

Tôi muốn biết liệu ai đó có giải pháp tích hợp PhpMailer vào ExeOutput không

Trong mã php, tôi nhận được thư của mình (từ gmail. com), bất kể tôi có cấu hình gì trong php. ini, nó hoạt động hoàn hảo
Nhưng khi tôi biên dịch nó với ExeOutpout, tôi gặp lỗi sau. “Lỗi SMTP. Không thể kết nối với máy chủ SMTP”

Bất kỳ ý tưởng?

ông Green. tôi đã tìm ra giải pháp
1 - Trong Cài đặt PHP -> Tiện ích mở rộng PHP, bạn phải biên dịch thành EXE php_curl. dll (đồng ý bao gồm ssleay32. dll và libeay32. dll) và php_openssl. dll
2 - Tải xuống PhpMailler (Tôi đang sử dụng 5. 1)
3 - Tạo hoặc sử dụng tài khoản gmail hợp lệ
4 - Thay đổi cài đặt trong ví dụ tiếp theo

IsSMTP();  // Telling the class to use SMTP  

$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host     = "smtp.gmail.com"; // SMTP server
$mail->Username = "[email protected]"; // "The account"
$mail->Password = "yourpassword"; // "The password"
$mail->Port = 465; // "The port"
$mail->Subject  = "My first email "; // "The subject"
$mail->Body     = "This is a test"; // "The message."
$mail->WordWrap = 100; // "The lenght of the text."  

if(!$mail->Send()) {
  echo "Message was not sent.";
  echo "Mailer error: ". $mail->ErrorInfo;
} else {
  echo "Message has been sent.";
}
?>  

Làm cách nào để gửi thư bằng PHP mà không cần SMTP?

php $mail = PHPMailer mới(true); . gmail. com"; // đặt GMAIL làm máy chủ SMTP $mail->

Thư PHP có yêu cầu SMTP không?

Bạn nên gửi thư qua SMTP vì phương pháp này gửi email từ máy chủ thư thay vì máy chủ web. Điều này giúp ích đáng kể để đảm bảo email của bạn được gửi và gửi đúng cách.

Làm cách nào để gửi email bằng PHP mà không cần PHPMailer?

Cú pháp và tham số .
“$to” = (những) người nhận tin nhắn của bạn. .
“$subject” = chủ đề tin nhắn của bạn
“$message” = nội dung thư của bạn. .
“[$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

Làm cách nào tôi có thể gửi email bằng PHP?

Sử dụng hàm PHP mail() . Hàm mail() tích hợp sẵn của PHP là một trong những cách đơn giản nhất để gửi email trực tiếp từ chính máy chủ web. Nó chỉ cần ba tham số bắt buộc. địa chỉ email, chủ đề email và nội dung thư—và gửi nó đến người nhận.