جهت مطالعه و دسترسی به سورس ها به ادامه مطلب مراجعه نمائید
میل سندر با ویژوال بیسیک !
سلام
خوب اول Object های زیر را در فرمتون ایجاد کنین :
۶ عدد Text Box با نام های :
txtToEmailAddress
txtFromEmailAddress
txtFromName
txtEmailSubject
txtEmailServer
txtMessage
و یک Button با نام CmdSendMail
و از طریق Components یک Winsock control به فرم اضافه می کنین و اسمش هم به صورت پیش فرض Winsock1 هستش
یک label هم برای دیدن Status برنامه ایجاد می کنیم که اسمش را StatusTxt می ذاریم
در قمست General فرم سه عدد متغیر تعریف می کنیم به این صورت:
Dim Response As String |
سپس در قسمت رویداد های Winsock کد زیر را اضافه می کنیم
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Winsock1.GetData Response End Sub |
حالا یک Sub برای چک کردن و متوجه شدن Error های موجود در Smtp برنامه ایجاد می کنیم که برای اینکار کد زیر را وارد کنین :
Sub WaitFor(ResponseCode As String) End Sub |
البته این Sub یک کار دیگه هم می کنه و اون اینه که یک تاخیر هم ایجاد می کنه !
حالا به قسمت اصلی برنامه می رسیم که ایجاد Sub فرستادن mail هستش که برای این کار کد زیر را وارد می کنیم :
Sub SendEmail(MailServerName As String, FromName As String, FromEmailAddress As String, ToName As String, ToEmailAddress As String, EmailSubject As String, EmailBodyOfMessage As String) SendData (first) WaitFor (“250”) |
و حالا برای فرستادن ایمیل کافی که در Button این کد را اضافه کنین :
Private Sub CmdSendMail_Click() |
و حالا با اجرای برنامه Email که شما همه چیزش را به صورت دستی Set می کنین Send می شود .
اما توضیح در مورد چندتا از کدهای به کاررفته:
Winsock1_DataArrival |
این کد چک می کنه چه درخواستی برای برنامه فرستاده می شود !
If .State = sckClosed Then |
چک می کنه که Socket که همون winsock محسوب می شود اگه بسته باشد کاری انجام دهد که اینجا شما در کدتون دستور های متعددی بهش دادین
first = “mail from: ” & FromEmailAddress & vbCrLf Second = “rcpt to: ” & ToEmailAddress & vbCrLf |