ealvandi
جمعه 10 فروردین 1386, 18:45 عصر
با سلام
من یک کد کامل ارسال Email به Inbox به همراه فایل ضمیمه دارم .که در آدرس زیر قابل دانلود هستش .
http://barnamenevis.org/forum/showthread.php?t=64079
متاسفانه بدون هیچ دلیلی نمیدونم چرا Emial ارسالی از هاست خودم به Bulk طرف مقابل میره ؟؟؟ ولی همین کد در هاست های دیگه کامل جواب میده و mail رو به Inbox میفرسته
این رو هم بگم که من تمام مطالب قبلی مربوط به این موضوع رو بررسی کردم ولی متاسفانه به هیچ جوابی نرسیدم.
لطفا اساتید PHP من رو کمک کنن.
با تشکر.
<?php
//get data nedeed !
$from = $_POST[from];
$to = $_POST[to];
$subject = $_POST[subject];
$message = $_POST[message];
//replace \n with <br>
$message = str_replace("\n", "<br>",$message);
//report
echo "<b><font color=#8080FF> From: $from </b><br>";
echo "<b>To: $to </b><br>";
echo "<b>Subject: $subject</b><br><br></font>";
// Obtain file upload variables
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from \n";
// if($_FILES['fileatt']['size'] > 0)
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 .= "MIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"utf-8\"\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";
}else echo "File error! ";
//send the mail
if(mail($to, $subject, $message,$headers))echo "<b><font color=#FF0000>Message was send!<b></font>";
else echo "<b><font color=#FF0000>Message error!<b></font>";
?>
من یک کد کامل ارسال Email به Inbox به همراه فایل ضمیمه دارم .که در آدرس زیر قابل دانلود هستش .
http://barnamenevis.org/forum/showthread.php?t=64079
متاسفانه بدون هیچ دلیلی نمیدونم چرا Emial ارسالی از هاست خودم به Bulk طرف مقابل میره ؟؟؟ ولی همین کد در هاست های دیگه کامل جواب میده و mail رو به Inbox میفرسته
این رو هم بگم که من تمام مطالب قبلی مربوط به این موضوع رو بررسی کردم ولی متاسفانه به هیچ جوابی نرسیدم.
لطفا اساتید PHP من رو کمک کنن.
با تشکر.
<?php
//get data nedeed !
$from = $_POST[from];
$to = $_POST[to];
$subject = $_POST[subject];
$message = $_POST[message];
//replace \n with <br>
$message = str_replace("\n", "<br>",$message);
//report
echo "<b><font color=#8080FF> From: $from </b><br>";
echo "<b>To: $to </b><br>";
echo "<b>Subject: $subject</b><br><br></font>";
// Obtain file upload variables
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$headers = "From: $from \n";
// if($_FILES['fileatt']['size'] > 0)
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 .= "MIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"utf-8\"\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";
}else echo "File error! ";
//send the mail
if(mail($to, $subject, $message,$headers))echo "<b><font color=#FF0000>Message was send!<b></font>";
else echo "<b><font color=#FF0000>Message error!<b></font>";
?>