PDA

View Full Version : نحوه ارسال ایمیل با استفاده از وی بی 2005 (آموزشی)



saeed_rezaei
یک شنبه 13 آبان 1386, 23:07 عصر
سلام دوستان.
بعضی جاها می دیدم که دوستان لینکهایی در مورد ارسال ایمیل از طریق وی بی 2005 داشتن. در وی بی 2003 مشکلی زیادی وجود نداشت. به راحتی می شد ایمیل ارسال کرد اما در 2005 جای کلاسها عوض شده در قسمت زیر می خوام خیلی ساده و مختصر براتون توضیح بدم که چطور می تونید یک ایمیل رو از طریق وی بی 2005 ارسال کنید.
مهمترین نکته ای که باید در مورد ارسال ایمیل بدونید، سرویس های ایمیل هست. همانطور که مطمئنن خودتون هم می دونید، دوتا سرویس استفاده از ایمیل با نامه های SMTP و POP3 وجود داره.
SMTP سرویس ارسال ایمیل هست و به آدرس سروری اطلاق می شه که وظیفه ارسال ایمیل رو بر عهده داره. وقتی شما ایمیلی رو ارسال می کنید، از طریق این سرور ارسال می شه.
3POP سروری هست که نامه ها رو دریافت می کنه. یعنی وقتی کاربر وارد ایمیلش می شه، لیست نامه هاش رو از این سرور می گیره.
با این تعاریف باید بدونید که هنگام ارسال نامه حتما بایستی آدرس SMTP مروبطه رو داشته باشید.
هنگامی که شما قصد ارسال نامه ای رو دارید، بایستی به ایمیلتون login کنید تا مجوز شما مورد صحت قرار بگیره.
در روش ارسال نامه با وی بی، شما دو حالت رو پیش رو دارید. با مجوز یا بدون مجوز اقدام به ارسال نامه کنید.
در روش با مجوز، باید اطلاعات مروبط به نام کاربری و کلمه رمز رو به سرور SMTP بدید تا صحت مجوز شما بررسی بشه.
و در روش بدون مجوز، شما بدون ارائه نام کاربری و کلمه رمز نامه ای رو ارسال میکنید. اما این نامه وارد صندوق BULK می شه و هنگام خوندن نامه توسط گیرنده، به کاربر اطلاع می ده که صحت این نامه مورد تایید نیست. همچنین خیلی وقتها شما می تونید تنها به کاربرانی از این نامه ها بفرستید که توی گروه شما عضو هستند. به عبارتی اگه شما @YAHOO.COM هستید، تنها به کاربران یاهو می تونید از این نامه ها بفرستید. لازم به ذکر هست که خیلی از سرورهای smtp اجازه نمی دن که بدون مجوز اقدام به ارسال نامه کنید.
کدهای مربوط به ارسال نامه بدون مجوز ، به وفور توی سایتها ریخته و من هم در اینجا قصد توضیحشون رو ندارم. هر چند که کدشون همین کدی هست که ارائه می دیم با این تفاوت که LOGIN نداره.

با توضیحات پراکنده بالا، می ریم سروقت کد:
کلاسهای مربوط به ارسال ایمیل در قسمت SYSTEM.NET.MAIL قرار گرفته. پس قبل از هر کاری، کد زیر رو به ابتدای فرم اضافه می کنیم:


Imports System.net.Mail
سه کلاسی که خیلی از اونها استفاده می کنیم عبارتند از :
SmtpClient: کلاسی جهت اتصال به سرور SMTP و ارسال نامه.
MailMessage: کلاسی برای تعریف اطلاعات و ساخت نامه.
Attachment: کلاسی برای اضافه کردن فایل به ضمیمه نامه.
اولین گامی که داریم مشخص کردن آدرس های گیرنده و فرستنده هست. در 2003 این آدرسها به صورت متن بود اما در 2005 باید بااستفاده از کلاس مربوطه ایجاد شوند.
برای آدرس فرستنده داریم (من آدرس ایمیل خودم رو گذاشتم):



Dim STR_FROM As New MailAddress("srezaii2000@yahoo.com")
Dim RECIVER As New MailAddress("Reciver Email Address")
حالا که آدرسهای گیرنده و فرسنده مشخص شد باید نامه رو ایجاد کنیم و آدرسهای گیرنده وفرستنده رو بهش می دیم:


Dim MY_EMAIL As New MailMessage(FROM, RECIVER)
در گام های بعدی، عنوان نامه و متن نامه رو مشخص می کنیم:


MY_EMAIL.Subject = "THIS IS A TEST 4"
MY_EMAIL.Body = " HI, This Email Sent With VB.NET 2005"
چنانچه نامه ای دارای ضمیمه باشد بایستی با استفاده از کلاس attachment اون رو اضافه نمود. دراین مثال من میخوایم یه فایل متن رو اضافه کنم. ابتدا این فایل رو ایجاد می کنیم:


Dim MY_ATTACH As New Attachment("c:\slr_soft.txt")
و حالا به نامه اضافه می کنیم:



MY_EMAIL.Attachments.Add(MY_ATTACH)
تا به این قسمت، یک نامه ایجاد کردیم که اطلاعات فرستنده و گیرندش مشخص شده. همچنین، متن، عنوان و یه ضمیمه هم برای اون قرار دادیم. در ادامه باید تنظیمات مربوط به سرور SMTP و اطلاعات مربوط به Username و Password رو اضافه کنیم تا مرحله Login در هنگام ارسال نامه انجام بشه.
ابتدا یک SmtpClient ایجاد می کنیم تا تنظیمات رو بهش بدیم:


Dim SmtpMail As New SmtpClient
و با کد زیر، آدرس سرور SMTP رو بهش بدیم:


SmtpMail.Host = "Your Smtp Server Address Or IP"
همچنین، نام کاربری و کلمه رمز رو ایجاد می کنیم:


Dim theCredential As New System.Net.NetworkCredential("Email Username", "Email Password")
SmtpMail.Credentials = theCredential

و در پایان، نامه رو ارسال می کنیم:


SmtpMail.Send(MY_EMAIL)
کل کد، چیزی شبیه به این می شه:


Dim FROM As New MailAddress("srezaii2000@yahoo.com")
Dim RECIVER As New MailAddress("Reciver Email Address")

Dim MY_EMAIL As New MailMessage(FROM, RECIVER)

MY_EMAIL.Subject = "THIS IS A TEST 4"
MY_EMAIL.Body = " HI, This Email Sent With VB.NET 2005"

Dim MY_ATTACH As New Attachment("c:\slr_soft.txt")
MY_EMAIL.Attachments.Add(MY_ATTACH)


Dim SmtpMail As New SmtpClient
SmtpMail.Host = "Your Smtp Server Address Or IP"

Dim theCredential As New System.Net.NetworkCredential("Email Username", "Email Password")
SmtpMail.Credentials = theCredential

SmtpMail.Send(MY_EMAIL

همین مطالب رو هم به صورت فایل pdf می زام همینجا:

amirsajjadi
دوشنبه 14 آبان 1386, 10:00 صبح
با سلام
جای آدرس سرور چی باید بنویسیم (برای سایت یاهو) ؟
در قسمت username و password چی باید بنویسیم ؟
با تشکر

saeed_rezaei
دوشنبه 14 آبان 1386, 12:00 عصر
با سلام
جای آدرس سرور چی باید بنویسیم (برای سایت یاهو) ؟
در قسمت username و password چی باید بنویسیم ؟
با تشکر


سلام
در مورد سایت یاهو لازم به ذکره که یاهو ، استفاده از سرور smtp رو برای کاربرانی که میل مجانی استفاده می کنند در دسترسی قرار نداده.
اما اگه چنانچه از آدرسی استفاده می کنید که اجازه استفاده از سرویس smtp رو بهتون داد، منظور از username همون اسمی هست که باهاش login می کنید و کلمه رمز هم خوب مشخص دیگه. مثلا myemail@myserver.com ، اسم کاربری می شه myemail
البته در مورد ایمیل یاهو باید بگم که شما می تونید از سیستم بدون مجوز استفاده نمایید اما توضیحاتی که در بالا رو گفتم از یاد نبرید.
به نقل از تاپیک زیر:
http://barnamenevis.org/forum/showthread.php?t=57032&highlight=smtp
آدرس سرور یاهو برای ارسال بدون اجازه می شه:
mx1.mail.yahoo.com

amirsajjadi
دوشنبه 14 آبان 1386, 12:11 عصر
وقتی به mx1.mail.yahoo.com وصل میشم بعد از چند ثانیه دیسکانکت میشه

kamvah
دوشنبه 10 دی 1386, 10:03 صبح
وقتی به mx1.mail.yahoo.com وصل میشم بعد از چند ثانیه دیسکانکت میشه


شما از آدرس b.mx.mail.yahoo.com میتونی استفاده کنی.
آدرس های دیگه شامل:
a.mx.mail.yahoo.com
c.mx.mail.yahoo.com
d.mx.mail.yahoo.com
e.mx.mail.yahoo.com
f.mx.mail.yahoo.com
g.mx.mail.yahoo.com
اینها آدرس SMTP Server سایت YAHOO هستند.
از طریق NSlookup میشه اونها رو پیدا کرد.

ahmadreza517
پنج شنبه 03 شهریور 1390, 19:05 عصر
سلام دوستان
اینو برای کسانی میگم که ایمل از نوع جیمیل دارند.

سرور smtp
SMPT.gmail.COM


سرور pop3
POP3.gmail.COM

port : 598
ssl=true

یا حق ...

bia2joker
شنبه 05 شهریور 1390, 18:12 عصر
سلام
چه جوری میشه یک صفحه Html رو ارسال کنیم که وقتی گیرنده ایمیل رو باز می کنه صفحه html رو ببینه نه کدهاشو؟

omid-vbAuto
شنبه 05 شهریور 1390, 18:39 عصر
با سلام عجب تاپیک جالبی!

لطفا نحوه باز کردن و خواندن نامه رو هم بفرمائید. با تشکر

omid-vbAuto
یک شنبه 06 شهریور 1390, 19:35 عصر
بابا یکی به جوابه دیگه.

m.zare.t
یک شنبه 06 شهریور 1390, 21:16 عصر
دوستان عزیز برای سرور یاهو بزنید :

smtp.mail.yahoo.com

خواهش میکنم به این تاپیک هم سر بزنید :

http://barnamenevis.org/showthread.php?302538-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%DA%A9%D8%A7%D8%B1%DB%8C%D9%87-%D9%85%D9%86-%D8%8C-%D9%84%D8%B7%D9%81%D8%A7-%DA%A9%D9%85%DA%A9%D9%85-%DA%A9%D9%86%DB%8C%D8%AF-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-! (http://barnamenevis.org/showthread.php?302538-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%DA%A9%D8%A7%D8%B1%DB%8C%D9%87-%D9%85%D9%86-%D8%8C-%D9%84%D8%B7%D9%81%D8%A7-%DA%A9%D9%85%DA%A9%D9%85-%DA%A9%D9%86%DB%8C%D8%AF-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%21)
:قلب:

nowar1352
شنبه 20 اسفند 1390, 09:20 صبح
دوست عزيز ميتواني از smtp.mail.yahoo.com هم استفاده كني