ارسال ايميل

simorgh

Member
سلام علي آقا خسته نباشيد شرمنده باز يه سوال ديگه دارم
اگه يادتون باشه طرح قبلي فقط يک پيغام رو به همراه جدول واسه گيرنده ميفرستاد
ولي من الان ميخوام به همون طرح اين امکان رو بدم که بهش فايل هم بشه اضافه کرد
و فايل اضافه کردنش هم خاص باشه مثلا اين طوري باشه که اولا فقط فايل هاي zip رو قبول کنه ثانيا
حجم فايل مورد نظر از مرز 100 kb بالاتر نباشه
فکر کنم يه خورده طرحش پيچيده شد ولي مطمئنم شما از عهده اش بر مي آييد

ببينيد من از اين طرح ساده ميخوام استفاده کنم منتها فقط ميشه با اين طرح يک پيغام از نوع text/plain با قابليت اضافه کردن فايل بهش ,
حالا هر فايل و با هر ظرفيتي ميتونه باشه فرستاد
فايل mail.html هيچ مشکلي نداره واسه همين فقط فايل پردازشگر را اينجا ميزارم

کد:
<html>
<head>
<title> Sending Email </title>
</head>
<body>
<?php
// Read POST request params into global vars
$to      = $_POST['to'];
$from    = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];

// Obtain file upload vars
$fileatt      = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
  // Read the file to be attached ('rb' = read binary)
  $file = fopen($fileatt,'rb');
  $data = fread($file,filesize($fileatt));
  fclose($file);

  // Generate a boundary string
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  
  // Add the headers for a file attachment
  $headers .= "\nMIME-Version: 1.0\n" .
              "Content-Type: multipart/mixed;\n" .
              " boundary=\"{$mime_boundary}\"";

  // Add a multipart boundary above the plain message
  $message = "This is a multi-part message in MIME format.\n\n" .
             "--{$mime_boundary}\n" .
             "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
             "Content-Transfer-Encoding: 7bit\n\n" .
             $message . "\n\n";

  // Base64 encode the file data
  $data = chunk_split(base64_encode($data));

  // Add file attachment to the message
  $message .= "--{$mime_boundary}\n" .
              "Content-Type: {$fileatt_type};\n" .
              " name=\"{$fileatt_name}\"\n" .
              //"Content-Disposition: attachment;\n" .
              //" filename=\"{$fileatt_name}\"\n" .
              "Content-Transfer-Encoding: base64\n\n" .
              $data . "\n\n" .
              "--{$mime_boundary}--\n";
}

// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
  echo "<p>Mail sent! Yay PHP!</p>";
} else {
  echo "<p>Mail could not be sent. Sorry!</p>";
}
?>
</body>
</html>
من چه جوري اين قالب رو با طرح قبلي ترکيب کنم که بشه اين کار ها رو باهاش کرد
1. نامه از نوع html باشه

2. متغير message رو چه جوري قرار بدم که بتونم جدول باهاش بفرستم و پيغام نامه درون اين جدول باشه
خواستم از طرح قبلي هم براي اين استفاده کنم منتها وقتي اين کار رو ميکني
جدول رو ميفرسته بدون فايل Attache شده اش

3.نوع فايل و ظرفيت فايل Attache شده را هم مد نظر داشته باشه
خيلي ممنون از کمکهات علي آقا
راستي اگه بشه بهش اين قابليت رو هم اضافه کرد که کاربر حتما فيلد هاي ورودي فايل mail.html رو
بايد پر کنه که در غير اين صورت Error مربوط به آن فيلد نمايش داده بشه
و تا وقتي که کامل فيلد ها رو پر نکرد mail فرستاده نشود
ديگه نور علي نور ميشه
قربانت برم شرمنده اگه مي بيني يه خورده زياد شده
 

جدیدترین ارسال ها

بالا