Làm cách nào tôi có thể gửi tệp php qua email?

Đôi khi bạn muốn gửi thư có tệp đính kèm nhưng quá trình đó rất khó khăn và không có gì chắc chắn về việc gửi thư của bạn có tệp đính kèm nhưng giờ đây, quá trình này trở nên dễ dàng và là cách tốt nhất để gửi email có tệp đính kèm với sự trợ giúp của PHP và PHP

Vì vậy, trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách gửi thư có tệp đính kèm bằng php. Chắc bạn cũng thích Gửi Email Bằng SMTP Và PHP Mailer

Tham gia với hơn 27.000 thành viên trong nhóm Google của bạn và nhận các hướng dẫn mới nhất

Nhận các hướng dẫn mới nhất của chúng tôi, Hướng dẫn cách thực hiện về phát triển web mỗi ngày ngay trong hộp thư đến của bạn

Để gửi thư có tệp đính kèm chỉ cần hai bước. -

  1. Tạo tệp HTML và xác định đánh dấu để gửi dữ liệu thư
  2. Tạo một file PHP để lấy dữ liệu và gửi mail

Bước 1. Tạo tệp HTML và xác định đánh dấu để gửi dữ liệu thư

Chúng tôi tạo một tệp HTML và lưu nó với tên mail. html


Enter Your Name :

Enter Your Email :

Enter Recipient Email :

Enter Email Subject :

Enter Message :

Select File :

Trong bước này, chúng tôi tạo một biểu mẫu và thêm một số trường văn bản cần thiết để gửi thư và thêm trường tệp để tải lên tệp đính kèm cho thư, sau đó gửi tất cả dữ liệu tới send_mail. php mà chúng ta sẽ tạo trong bước tiếp theo

Bạn cũng có thể thích Gửi Email Đẹp Bằng PHP

Bước 2. Tạo một file PHP để lấy dữ liệu và gửi mail

Chúng tôi tạo một tệp PHP và lưu nó với tên send_mail. php

From = $sender_email;
 $send_mail->FromName = $name;
 $send_mail->Subject = $subject;
 $send_mail->Body = $message;
 $send_mail->AddAddress[$send_to];

 $attach_file = $folder."".$file_name;
 $send_mail->AddAttachment[$attach_file];

 return $send_mail->Send[];
}
?>

Ở bước này chúng ta lấy toàn bộ dữ liệu cần thiết để gửi mail rồi upload file lên thư mục

Chúng tôi bao gồm lớp. phpmailer. php cần thiết để gửi thư, sau đó chúng tôi thêm các chi tiết trong thư và đính kèm tệp và gửi thư đến địa chỉ email của người nhận

Chắc bạn cũng thích Hệ Thống Xác Minh Tài Khoản Qua Email Sử Dụng PHP

Đó là tất cả, đây là cách gửi thư có tệp đính kèm bằng PHP. Bạn có thể tùy chỉnh thêm mã này theo yêu cầu của bạn. Và xin vui lòng cho nhận xét về hướng dẫn này

I migrated an application to a platform without a local transport agent [MTA]. I did not want to configure an MTA, so I wrote this xxmail function to replace mail[] with calls to a remote SMTP server. Hopefully it is of some use.

function xxmail[$to, $subject, $body, $headers]
{
$smtp = stream_socket_client['tcp://smtp.yourmail.com:25', $eno, $estr, 30];

$B = 8192;
$c = "\r\n";
$s = 'myapp@someserver.com';

________số 8_______

// Envelope
fwrite[$smtp, 'mail from: ' . $s . $c];
  $junk = fgets[$smtp, $B];
fwrite[$smtp, 'rcpt to: ' . $to . $c];
  $junk = fgets[$smtp, $B];
fwrite[$smtp, 'data' . $c];
  $junk = fgets[$smtp, $B];

// Header
fwrite[$smtp, 'To: ' . $to . $c];
if[strlen[$subject]] fwrite[$smtp, 'Subject: ' . $subject . $c];
if[strlen[$headers]] fwrite[$smtp, $headers]; // Must be \r\n [delimited]
fwrite[$smtp, $headers . $c];

// Body
if[strlen[$body]] fwrite[$smtp, $body . $c];
fwrite[$smtp, $c . '.' . $c];
  $junk = fgets[$smtp, $B];

// Close
fwrite[$smtp, 'quit' . $c];
  $junk = fgets[$smtp, $B];
fclose[$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

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

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

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

  • 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. thí 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

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

NƠI ĐÂ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. thí dụ@. đến trở lại >http. //www. thí 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

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]

Làm cách nào để gửi tệp qua email bằng PHP?

Follow the steps given below: Create an HTML form: Below is the HTML source code for the HTML form. In the HTML tag, we are using “enctype='multipart/form-data” which is an encoding type that allows files to be sent through a POST method. Without this encoding, the files cannot be sent through the POST method.

Làm cách nào để gửi email bằng PHP và HTML?

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 tệp đính kèm trong email khi gửi biểu mẫu bằng PHP?

Kiểm tra và xác thực phần mở rộng tệp để cho phép các định dạng tệp nhất định [tệp PDF, Hình ảnh và MS Word]. Tải tệp lên máy chủ bằng hàm PHP move_uploaded_file[]. Thêm dữ liệu biểu mẫu và tệp đã tải lên vào nội dung email. Gửi email đến người nhận được chỉ định với tệp đính kèm bằng hàm PHP mail[]

Tại sao PHP không gửi email?

Ví dụ: có thể do bạn thiếu các tham số cần thiết, có lỗi chính tả trong địa chỉ email của người nhận hoặc cần thiết lập chuyển tiếp SMTP. Out of all the possible options as to why your PHP mail[] isn't sending email, we found that most issues stem from Postfix being configured incorrectly.

Chủ Đề