ارسال ایمیل توسط کامپوننت CDO در ASP کلاسیک | گاه نوشت های مهدی



شاید در ASP کلاسیک راه و روش های مختلف و متعددی برای ارسال ایمیل وجود داشته باشه، ولی ظاهراً دم دست ترین و راحت ترینشون  استفاده از کامپوننت CDO هستش (البته هیچ کدومشو ن به سادگی و راحتی دستور ارسال ایمیل در PHP نیست).

بعد از مدتهای مدید که دیگه با ASP کار نکرده بودم و کم کم همه چیزش از یادم رفته بود، دوستی ازم خواست که برای سایتش یه سیستم ارسال ایمیل درست کنم. بنابراین نبش قبر کردم و سورس سایت هائی که قدیم ندیما نوشته بودم رو آوردم و کدهای مربوطه رو جدا کردم… و با کمی تغییر و اصلاح سفارشیش کردم و سعی کردم که ارسال از طریق اکانت جی میل انجام بشه… نتیجه کار به صورت مختصر و مفید به این شرح هست. اول از همه فرض بر اینه که فرمی دارید که مثلا سه تا فیلد برای ارسال اطلاعات داره  و بعد از فشردن دکمه ارسال این اطلاعات به صفحه دیگه ای برای پردازش و ارسال -که کدهاش رو در ادامه نوشتم- فرستاده می شن:

EMailSenderName = request.form("EMailSenderName")
EMailSenderEmail = request.form("EMailSenderEmail")
EMailSenderMessage = request.form("EMailSenderMessage")

SendAccountGmailAddress = "somaccount@gmail.com"
SendAccountGmailPass = "Put Your Gmail Pass Here"
GoogleMailServer = "smtp.gmail.com"
GoogleMailServerPort = "465"
ReceiveEmailAddress = "SomeOne@SomeDomain.com"



خوب در بخش اول اومدیم و اطلاعات فرم رو خوندیم. بعد از اونم اطلاعات کلی در مورد اکانت ارسال کننده ایمیل رو وارد کردیم. اطلاعاتی از قبیل آدرس ایمیل، پسورد، آدرس SMTP و پورت مربوط به اون. در نهایت هم آدرس ایمیل دریافت کننده رو وارد کردیم. این آدرس می تونه با آدرس اکانت ارسال کننده یکی باشه. در ادامه بدنه اصلی پیغام رو درست می کنیم. من اینجا خیلی ساده و مختصر یه چیزی برای مثال درست کردم. شما می تونید به دلخواه و بسته به تعداد فیلدهای اطلاعاتی که دریافت می کنید یه بدنه html کامل برای خودتون درست کنید.

TotalMessage = ""
TotalMessage = "
" TotalMessage = TotalMessage & "Message: " TotalMessage = TotalMessage & EMailSenderMessage TotalMessage = TotalMessage & "
"



در نهایت دستورهای ایجاد آبجکت مربوطه و ارسال ایمیل و نهایتاً هم ازبین بردن آبجکت ایجاد شده رو می نویسیم.

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = GoogleMailServer
Flds.Item(schema & "smtpserverport") = GoogleMailServerPort
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = SendAccountGmailAddress
Flds.Item(schema & "sendpassword") =  SendAccountGmailPass
Flds.Item(schema & "smtpusessl") = 1
Flds.Update

iMsg.To = ReceiveEmailAddress
iMsg.From = EMailSenderName
iMsg.Subject = "Online Email System " & Date()
iMsg.HTMLBody = TotalMessage
iMsg.HTMLBodyPart.Charset = "utf-8"
iMsg.Sender = EMailSenderEmail
Set iMsg.Configuration = iConf
SendEmailGmail = iMsg.Send

set iMsg = nothing
set iConf = nothing
set Flds = nothing



همین… فقط فراموش نکنید در بخش اول کدها آدرس های ایمیل و پسوردها رو وارد کنید. همچنین در بخش آخر هم می تونید عناوینی از جمله Subject رو مطابق میل خودتون تغییر بدید.




دیدگاه خود را بنویسید

 

 


استفاده و نشر مطالب این بلاگ با ذکر منبع آزاد است. قدرت گرفته از وردپرس طراحی توسط مهدی