View Full Version : حرفه ای: درخواست کامپوننت یا روش برای فرستادن و گرفتن ایمیل
Anis131313
سه شنبه 19 آبان 1388, 00:15 صبح
با سلام خدمت تمامی دوستان زحمت کش سایت برنامه نویس
من یه سورس میخوام بنویسم که بتونه با در دسترس داشتن ID و Password وارد ایمیل Yahoo یا Gmail بشه. من فقط میخوام این برنامه به صورت لحظه ای روی سیستم کاربران فعال باشه و به محض اینکه ایمیلی به میل طرف اومد اون رو شناسایی و چنانچه مثلا Subject ایمیل بر فرض مثال Hello بود محتویات ایمیل رو به صورت یک فایل TEXT خروجی بده. درواقع این برنامه یک برنامه ی رابط است چون اون فایل TEXT در یک نرم افزار دیگه قراره که پردازش بشه. در کل در مورد فرستادن و گرفتن ایمیل بوسیله برنامه نویسی می خوام منو راهنمایی کنید.
اول میخوام بدونم با دلفی قابل انجام هست یا نه ؟
بعد چنانچه با دلفی میشه کاریش کرد پس لطف کنید در نوشتن شبه کد اون بهم کمک کنید و یا اینکه کامپوننتهایی که باهاش در این مورد کار کردین یا از وجودش با خبر هستین رو بهم بگین. برای من گرفتن ایمیل مورد نظر مهمتر از فرستادن ایمیله.
بعدشم اینکه نمیدونم چه جوری از شرمندگیتون در بیام.
مرسی. :خجالت:
Felony
سه شنبه 19 آبان 1388, 05:35 صبح
با اکانت های رایگان یاهو نمیشه ، باجیمیل هم کار نکرم ، در کل باید سروس دهنده ی ایمیلتون از SMTP پشتیبانی کنه ، یه جست و جو بکن چند مثال از دوستان تو انجمن هست .
hiptaseb
سه شنبه 19 آبان 1388, 11:28 صبح
سلام دوستان من هم همچین روش یا کامپوننتی را میخوام ممکنه را هنمایی کنید.
با تشکر از همه شما عزیزان خدانگهدار.
ebnsina
سه شنبه 19 آبان 1388, 12:12 عصر
با سلام خدمت تمامی دوستان زحمت کش سایت برنامه نویس
من یه سورس میخوام بنویسم که بتونه با در دسترس داشتن ID و Password وارد ایمیل Yahoo یا Gmail بشه. من فقط میخوام این برنامه به صورت لحظه ای روی سیستم کاربران فعال باشه و به محض اینکه ایمیلی به میل طرف اومد اون رو شناسایی و چنانچه مثلا Subject ایمیل بر فرض مثال Hello بود محتویات ایمیل رو به صورت یک فایل TEXT خروجی بده. درواقع این برنامه یک برنامه ی رابط است چون اون فایل TEXT در یک نرم افزار دیگه قراره که پردازش بشه. در کل در مورد فرستادن و گرفتن ایمیل بوسیله برنامه نویسی می خوام منو راهنمایی کنید.
اول میخوام بدونم با دلفی قابل انجام هست یا نه ؟
بعد چنانچه با دلفی میشه کاریش کرد پس لطف کنید در نوشتن شبه کد اون بهم کمک کنید و یا اینکه کامپوننتهایی که باهاش در این مورد کار کردین یا از وجودش با خبر هستین رو بهم بگین. برای من گرفتن ایمیل مورد نظر مهمتر از فرستادن ایمیله.
بعدشم اینکه نمیدونم چه جوری از شرمندگیتون در بیام.
مرسی. :خجالت:
دوست عزیز برای این کار نیاز به استفاده از سرویس SMTP و یا POP3 سرور مذکور را دارید.
این سرویس ها بروی Yahoo فقط با اشتراک پولی امکانپذیره.
بروی Gmail هم متاسفانه خیلی خوب کار نمی کنه.
بله این کار را با هر زبانی که بتواند از پروتکل های شبکه استفاده کنند میتوان انجام داد، از جمله Delphi
برای این کار هم کامپوننت هایی وجود داشت. در ضمن آیا برنامه شما از نوع WinApp است و یا برنامه ای میخواهید از نوع Web ؟
vcldeveloper
سه شنبه 19 آبان 1388, 12:13 عصر
برای دریافت و ارسال ای میل پروتکل های استانداردی وجود دارند (SMTP و POP3 یا IMAP). کسی که میخواد برنامه ایی برای ارسال و دریافت ای میل بنویسه، می تونه با استفاده از این پروتکل ها با Mail Server مورد نظرش ارتباط برقرار کنه، و عملیات مورد نظرش را انجام بده.
البته این روز ها سرویس دهنده های ای میل مبتنی بر وب مثل Hotmail، Yahoo, GMail، و غیره طرفداران زیادی دارند، این نوع از سرویس دهنده ها به کاربر این امکان را میدند که بجای استفاده از یک Mail Client مثل Outlook یا Thunderbird، هر کجا که هست، از طریق سایت سرویس دهنده، به ای میل های خودش دسترسی داشته باشه. اما همه این سرویس دهنده ها رابط استاندارد مبتی بر پروتکل های فوق را ارائه نمیدند. مثلا شرکت Yahoo فقط رابط تحت وب را در اختیار کاربران رایگان قرار میده، و این کاربران فقط از طریق سایت شرکت امکان چک کردن ای میلشان را دارند. اگر کاربری مایل باشد از طریق برنامه های Mail Client به ای میل های خود دسترسی داشته باشد، باید بابت آن پول بپردازد. برخی سرویس ها هم مثل GMail این قابلیت را بطور رایگان ارائه می کنند، ولی به طور پیش فرض غیر فعال هست، و کاربر باید از صفحه تنظیمات ای میلش این گزینه را فعال کنه.
در دلفی برنامه نویس میتونه برای کار با پروتکل های ای میل، یا خودش همه کدهای مورد نیاز را بنویسه، که نیاز به پیاده سازی پروتکل های مورد نظر داره، و کار سخت و وقت گیری هست؛ یا از کامپوننت هایی استفاده کنه که پروتکل های مورد نظر را پیاده سازی کردند. برای این منظور، در دلفی مجموعه کامپوننت های Indy در نظر گرفته شدند که با دلفی نصب میشند، و پروتکل های مختلف اینترنت را پیاده سازی می کنند.
البته پیاده سازی پروتکل های مورد نظر توسط کامپوننت به این معنی نیست که برنامه نویس کاری انجام نمیده، بلکه برنامه نویس باید با پروتکل های مربوطه آشنا باشه، و با استفاده از رابط برنامه نویسی که کامپوننت در اختیارش قرار میده، با سرور ای میل ارتباط برقرار کنه، و فرامین لازم را به آن ارسال کنه، و داده های ارسالی را دریافت و پردازش کنه.
کاپوننت های IdIMAP4 و IdPOP3 در سربرگ Indy Client برای دریافت ای میل استفاده می شوند. بعضی از Mail Serverها مثل GMail نیاز به SSL برای برقراری ارتباط و اعتبارسنجی کاربر دارند، که برای این کار در Indy از OpenSSL استفاده میشه. درباره چگونگی اتصال به سرویس دهنده GMail از طریق Indy، خودِ من قبلا در یک تاپیک دیگه توضیح دادم، و فکر کنم سورس هم گذاشتم، البته اون سورس برای ارسال بود، ولی می تونید برای چگونگی اتصال، به آن مراجعه کنید. تاپیک را می تونید با استفاده از جستجو راحت پیدا کنید.
برای دریافت ای میل، ابتدا درباره پروتکل های IMAP و POP3 تحقیق کنید، و ببینید کدامشان به درد کار شما می خورند، سپس سورس دموی Indy با نام MailClient را به عنوان یک نمونه برنامه دریافت ای میل، مطالعه کنید. این دموها بطور پیش فرض با Indy نصب نمیشند، باید از سایتش Demoها را دانلود کنید. در این مورد هم قبلا توضیح داده شده.
من فقط میخوام این برنامه به صورت لحظه ای روی سیستم کاربران فعال باشه و به محض اینکه ایمیلی به میل طرف اومد اون رو شناسایی و چنانچه مثلا Subject ایمیل بر فرض مثال Hello بود محتویات ایمیل رو به صورت یک فایل TEXT خروجی بده.
برنامه به خودی خود به محض دریافت ای میل جدید مطلع نمیشه، بلکه شما باید توسط برنامه در فواصل زمانی معین (مثلا هر یک دقیقه) به Inbox مربوطه متصل بشید، و وضعیت ای میل های جدید را بررسی کنید. پروتکل های ای میل مکانیزمی برای با خبر شدن کلاینت از ای میل جدید توسط سرور ارائه نمی کنند. برنامه های موجود هم (مثل Outlook) خودشان در فواصل زمانی معینی Inbox کاربر را چک می کنند.
دقت کنید که برای استفاده از GMail باید سرویس POP3 و IMAP را در صفحه تنظیمات آن فعال کنید، و تنظیمات لازم مثل شماره پورت، و آدرس سرور ای میل را از راهنمای GMail دریافت کنید، وگرنه برنامه شما قادر به ارتباط با حساب GMail شما نخواهد بود.
Nima NT
سه شنبه 19 آبان 1388, 18:00 عصر
در صورت پشتیبانی میل هاست شما از SMTP از کامپوننت IPWorks هم میتونید استفاده کنید , کار با این کامپوننت بسیار راحت هست و از سرعت نسیتا" خوبی برخوردار هست.
Anis131313
چهارشنبه 20 آبان 1388, 11:26 صبح
سلام.
با تشکر از همه ی دوستانم.
مطمئن باشید بعد از اتمام کار نتیجه ی آن را حتما در همین تاپیک اعلام می کنم.
مرسی.
Mahmood_M
چهارشنبه 20 آبان 1388, 13:25 عصر
شاید این مقاله ی کوتاه هم مفید باشه :
ساخت یک ارسال کننده ی ایمیل ساده (http://barnamenevis.org/forum/showthread.php?p=495313)
موفق باشید ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.