PDA

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



Hamed3m1993
جمعه 22 اردیبهشت 1391, 22:41 عصر
سلام من می خواهم یه برنامه ساده بنویسم که دو تا صفحه داشته باشه یکی برای دریافت عنوان و ادرس و متن ایمیل و ارسال ان و دیگری هم برای نمایش ایمیل های دریافتی در قالب یک جدول. امنیت و سرعت هم برام مهم نیست فقط می خواهم عمل کنه.
من می خواهم این کار رو در هاست لینوکسم انجام بدم .
اگه امکان داره منو در نوشتن صفحه دوم کمک کنید.(صفحه ی اول کاری نداره :لبخندساده:) مثلا بگید از چه توابعی باید استفاده کنم و...
اگه هم زیاد وقتتون را نمی گیره برام کد هاشو بنویسید بعد خودم بررسیشون می کنم.

Hamed3m1993
شنبه 23 اردیبهشت 1391, 20:35 عصر
نه بابا ! :متعجب:
یعنی سوالم این قدر سخت بود !! فک نکنم.
پس حداقل یه سیستم مدیریت ایمیل کوچیک و اگه بشه فارسی به من معرفی کنید .لطفا

MostafaEs3
یک شنبه 24 اردیبهشت 1391, 01:54 صبح
خیلی آسون بود سوالت منتها از این سوالات زیاد میپرسن و برنامه نویس ها هم معمولا (به غیر از آقای شهرکی و چندتا دیگه) حوصله ی پاسخگویی ندارن !!!
من خودمم چند روزی هست به انجمن سر نزدم . حالا بگذریم .

ببین ارسال ایمیل با پی اچ پی با تابع mail انجام میشه و زیاد سخت نیست . ولی اگه واسه خبر نامه میخوای باید هدرها ست بشه و یا از کلاسهای آماده ی ارسال ایمیل استفاده کنی .. این یک مثال با تابع mail :



$from = "info@datalines.com";
$reply_to = "info@datalines.com";
$recipient_e_addr = "mta3752002@yahoo.com";
$subject = "Salam";
$message = "type your message here";


$head = 'MIME-Version: 1.0' . "\n" .
'Content-Type: text/html; charset=utf-8' . "\n" .
'From: '.$from . "\n" .
'Reply-To: '.$reply_to . "\n" .
'X-Originating-IP: []' . "\n" .
'X-Originating-Email: [' . $from . ']' . "\n" .
'X-Mailer: Anonymail' . "\n";

mail($recipient_e_addr, $subject, $message, $head);

Hamed3m1993
یک شنبه 24 اردیبهشت 1391, 06:14 صبح
دستت درد نکنه ولی سوال من یه چیز دیگه بود. من می خوام یه چیزی شبیه کنترل پنل یاهو درست کنم و میخواهم فهرست تمام ایمیل هایی که برام امده رو با php نمایش بدم.

com.mohsen
یک شنبه 24 اردیبهشت 1391, 09:04 صبح
به این نمیگن ارسال ایمیل.به این میگن ارسال پیام
آقای MostafaEs3 (http://barnamenevis.org/member.php?240106-MostafaEs3) درست گفتند.
ولی چیزی که شما می خواهید اینه که یه فرم به کاربر نشون میدی و کاربر اونارو پر میکنه و شما در پایگاه در یک تیبل به اسم مثلا ایمیل درج می کنی و در کنترل پنل خودت یه قسمت می زاری برای مشاهده ایمیل ها و وقتی روش کلیک کردی همه ایمیل ها رو در جدول به شکل زیبا نشون می ده.
کاری نداره.الان وقت ندارم ولی تا شب اگه خواستی بگو سورسشو بنویسم برات

Hamed3m1993
یک شنبه 24 اردیبهشت 1391, 10:05 صبح
ببین فرض کن دامنه ی سایت من www.site.com باشه ، در این صورت من می توانم از طریق cpanel هاستم یک ادرس ایمیل مثل hamed@site.com برای خودم درست کنم و دیگران برایم ایمیل بفرستند مثلا یکی وارد ساست یاهو میشه و چند تا ایمیل برام میفرسته ، خوب برای اینکه من بتونم این ایمیل رو بخونم باید وارد وب میل هاستم بشم و از طریق اون این کار رو انجام بدم. حالا من می خوام یه برنامه بنویسم که فهرست این ایمیل ها رو بدون استفاده از وب میل ببینم. همین

Hamed3m1993
دوشنبه 25 اردیبهشت 1391, 17:45 عصر
ببخشید ولی اگه کسی جواب سوال رو میدونه کمک کنه من به جواب هنوز نرسیدم و خیلی برام مهمه

MostafaEs3
دوشنبه 25 اردیبهشت 1391, 19:08 عصر
خب مستر جون باید مثلا هاست IMAP داشته باشه که بتونی بهش وصل بشی و ایمیل ها رو بخونی .. البته من خیلی توی این مورد اطلاعی ندارم سرچ کن پیدا میشه ! :لبخند:

Hamed3m1993
سه شنبه 26 اردیبهشت 1391, 00:14 صبح
:لبخند:
نیشتو ببند.
واقعا اگه شما ها نبودید من چیکار میکردم ؟!؟!

Unique
سه شنبه 26 اردیبهشت 1391, 03:29 صبح
ببینین دوست عزیز شما باید یکسری اطلاعات اولیه از ارسال و دریافت ایمیل داشته باشین تا اصلا مفاهیم را بدونین بعدش بخواین چیزی شبیه web mail ایجاد کنین ! کاری که شما میخواین انجام بدین خیلی ساده هستش و اگه یک جستجوی کوچیک توی همین انجمن میکردین به جواب میرسیدین ! شما برای خوندن Email ها باید از یکی از پروتکل های POP3 یا IMAP استفاده کنین ! که هر کدوم قابلتهای خوشدون را دارند و میتونین RFC هشاون را مطالعه کنین ! برای اینکه با php از این پروتکل ها استفاده کنین یک افزونه هست به نام php imap که میتونید کل اطلاعاتشون اینجا ببینین :
http://php.net/manual/en/book.imap.php


$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'test@gmail.com';
$password = 'testpass';

$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());

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

if($emails) {

$output = '';

rsort($emails);

foreach($emails as $email_number) {

$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number,2);

$output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
$output.= '<span class="from">'.$overview[0]->from.'</span>';
$output.= '<span class="date">on '.$overview[0]->date.'</span>';
$output.= '</div>';

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

echo $output;
}

imap_close($inbox);

منبع : http://davidwalsh.name

Hamed3m1993
سه شنبه 26 اردیبهشت 1391, 06:16 صبح
دستت درد نکنه :لبخندساده:
من دیشب این سایت که هیچ، کل اینترنت رو زیر رو کردم و به نتایجی هم رسیدم ولی مشکل اینجاست که هیچ منبع فارسی وجود نداره حالا تقریبا می دونم باید چکار کنم . و اگه بدونم چه اطلاعاتی برای استفاده در لوکال هاست لازمه دیگه بقیه راه رو خودم طی می کنم

اگه میشه بگید که هاست و یوزرنیم و پسورد را در لوکال هاست چی باید وارد کنم ؟ اصلا میشه از imap در لوکال استفاده کرد یا نه؟ اینجا رو ببین (http://barnamenevis.org/showthread.php?341410-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D8%A7%D8%A8%D8%B9-imap_open-%D8%AF%D8%B1-wamp-%DA%86%D9%87-%D8%A8%D8%A7%DB%8C%D8%AF-%DA%A9%D8%B1%D8%AF%D8%9F)

Unique
سه شنبه 26 اردیبهشت 1391, 11:03 صبح
من جواب شما را توی همین پست میدم !
من منظور شما را درست نگرفتم اگه منظورت اینه که از روی local میشه ایمیل های مثلا gmail را خوند !؟
جواب : بله میشه و تا زمانی که سرویس دهنده ای شما را block نکرده باشه میتونید !
اگه منظورت اینه که خودتون یک pop3 یا imap سرور داشته باشین میشه بهش وصل شد !؟
جواب : بله کافیه آدرس را با ip مثلا 127.0.0.1 h همون localhost بدی و Port را هم درست ست کنی (حالا میتونه SSL هم نباشه)
اگه ویندوز Server داری میشه باهاش هم pop3 و هم smtp را ردیف کرد ولی بعید میدونم IMAP داشته باشه خود ویندوز و میتونی از سرویس دهنده های دیگه استفاده کنی ! دنبال Mail Server بگرد توی google حتما پیدا میکنی !
اما به عنوان آخرین نکته اینکه اگه انتظار داری Mail Server شما به صورت locak نصب شده با IP ایران بتونه ارسال هم درست انجام بده ! در اشتباهی و اکثر میره توی SPAM فولدر ! اما برای دریافت بعید میدونم مشکلی باشه ! کلا خدایی خودم Local تا حالا mail server نصب نکردم باهاش کار کنم ! این سوالات را هم باید توی انجمن شبکه بپرسی ! در حد برنامه نویسی پاسخ داده شد.

Hamed3m1993
سه شنبه 26 اردیبهشت 1391, 12:54 عصر
من میخواستم یه چیز شبیه به وب میل درست کنم برای سایت خودم.
قبلش می خواستم برنامه هاشو بنویسم و توی سرور مجازی WAMP تستش کنم ولی نمی دانستم که چه اطلاعاتی رو باید به عنوان ورودی به این تابع بدم . حالا مشکلم حل شد .همشو خالی دادم:لبخند:


imap_open('', '','');