PDA

View Full Version : سوال: اتچ کردن فایل به ایمیل بدون نیاز به بار گذاری آن روی سرور



kimiaaa
شنبه 21 خرداد 1390, 16:17 عصر
سلام
دوستان كسي مي تونه در رابطه با اتچ كردن فايل به ايميل بدون نياز به بارگذاري روي سرور به من كمك كنه؟
نمي خوام وقتي فايل رو آپلود ميكنم تو سرور ذخيره بشه و ميخوام مستقيم به ايميل فرستاده بشه

(http://barnamenevis.org/showthread.php?211180-%D8%A7%D8%AA%DA%86-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%D8%A8%D9%87-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D8%A8%D8%AF%D9%88%D9%86-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D8%A8%D8%A7%D8%B1-%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C-%D8%A2%D9%86-%D8%B1%D9%88%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1)

رضا قربانی
یک شنبه 22 خرداد 1390, 00:15 صبح
<?php
//define the receiver of the email
$to = 'youraddress@example.com';
//define the subject of the email
$subject = 'Test email with attachment';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
$attachment = chunk_split(base64_encode(file_get_contents('attac hment.zip')));
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"

--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello World!!!
This is simple text email message.

--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<h2>Hello World!</h2>
<p>This is something with <b>HTML</b> formatting.</p>

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: application/zip; name="attachment.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--

<?php
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
?>

رضا قربانی
یک شنبه 22 خرداد 1390, 00:21 صبح
چک کردن درستی ادرس ایمیل




<?php
$email = $_POST['email'];
if(preg_match('/^[a-z0-9_\-+\.]+@([a-z0-9\-+]+\.)+[a-z]{2,5}$/i',$email)){
echo 'This is a valid email.';
}else{
echo 'This is an invalid email.';
}
?>

kimiaaa
یک شنبه 22 خرداد 1390, 10:10 صبح
من از اين كد استفاده كردم اما چيزي به ايميلم ارسال نميشه. كجا فايل آپلود شده رو ميگيره؟