PDA

View Full Version : سوال: دریافت ایمیل فرستنده iimap



mosavi7
پنج شنبه 25 اردیبهشت 1393, 12:24 عصر
با سلام و عرض ادب
بنده میخوام از طریق imap ایمیل هام رو دریافت کنم و در دیتابیس ذخیره کنم .
الان همه چی اوکی هست ولی من نمیتونم ایمیل فرستند رو دریافت کنم یعنی به جای ایمیل فرستنده اسمش رو مینویسه ...


<?php
$mailbox = 'Hostname';
$user = 'username';
$password = '*****';

$inbox = imap_open($mailbox,$user,$password) or die('Cannot connect to server: ' . imap_last_error());


$emails = imap_search($inbox,'ALL');


if($emails) {
$output = '';
rsort($emails);


foreach($emails as $email_number) {
print_r($emails);
$overview = imap_fetch_overview($inbox,$email_number,0);

$structure = imap_fetchstructure($inbox, $email_number);



if(isset($structure->parts) && is_array($structure->parts) && isset($structure->parts[1])) {
$part = $structure->parts[1];
$message = imap_fetchbody($inbox,$email_number,2);


if($part->encoding == 3) {
$message = imap_base64($message);
} else if($part->encoding == 1) {
$message = imap_8bit($message);
} else {
$message = imap_qprint($message);
}
}


$output.= '<div class="toggle'.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="from">From: '.utf8_decode(imap_utf8($overview[0]->from)).'</span>';
$output.= '<span class="date">on '.utf8_decode(imap_utf8($overview[0]->date)).'</span>';
$output.= '<br /><span class="subject">Subject('.$part->encoding.'): '.utf8_decode(imap_utf8($overview[0]->subject)).'</span> ';
$output.= '</div>';


$output.= '<div class="body">'.$message.'</div><hr />';
}


echo $output;
}


imap_close($inbox);
?>


استاتید عزیز اگر کد ساده تری هم سراغ دارید , ممنون میشم تو همین تاپیک ارسال کنید ...

ali1323
پنج شنبه 25 اردیبهشت 1393, 13:58 عصر
دوست عزیز من متوجه کدت نشدم ولی یه کد آمادا واسه ارسال ایمیل دارم ببین کمکت میکنه یا نه!


session_start();

if(isset($_POST['submit'])) {

if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']) && !empty($_POST['code']) && !empty($_POST['subject'])) {

if($_POST['code'] == $_SESSION['rand_code']) {

// send email

$accept = "پیغام شما با موفقیت ارسال شد. با تشکر";
$to = "example.com";
$subject = $_POST['subject'];
$from = $_POST['email'];
$user_message = $_POST['message'];

$body = "\n".
"نام: $name\n".
"ایمیل: $from \n".
"توضیحات: \n ".
"$user_message\n".

$headers = "From: $from \r\n";
$headers .= "Reply-To: $from \r\n";

mail($to, $subject, $body, $headers);
} else {

$error = "کد امنیتی را اشتباه وارد کرده اید! دوباره امتحان کنید";

}

} else {

$error = "لطفا تمامی فیلد ها را تکمیل نمایید.";

}

}

mosavi7
جمعه 26 اردیبهشت 1393, 09:33 صبح
دوست عزیز دقیقا تو قسمت عنوان نوشتم دریافت ایمیل با imap نه ارسال ایمیل ...

mosavi7
شنبه 27 اردیبهشت 1393, 19:21 عصر
استاید لطفا راهنمایی بفرماید , من الان فقط مشکلم اینه که نمی تونم ایمیل شخص ارسال کننده رو با imap بگیرم ...