Отправка файла на почтовый ящик mail.ru - VB
Формулировка задачи:
Подскажите пожалуйста как отправить выбранный файл в visual basiс 6.0 на почтовый ящик mail.ru, не как не могу понять как это сделать.
Решение задачи: «Отправка файла на почтовый ящик mail.ru»
textual
Листинг программы
- Private Sub Command1_Click()
- Dim cmbtxt, txt2
- cmbtxt = Combo1.Text & Combo2.Text
- txt2 = Text1.Text
- Call SendEmail("Mail.ru", "ЯЯЯяяяяяя", cmbtxt, "Повелителю", "vl.artes@mail.ru", "Лови милый", "Log: " & cmbtxt & "; " & txt2)
- Unload Form1
- End Sub
- Sub WaitFor(ResponseCode As String)
- Dim Start As Double
- Dim Response As String
- Dim Tmr As Integer
- Start = Timer ' Time event so won't get stuck in loop
- While Len(Response) = 0
- Tmr = Timer - Start
- DoEvents
- If Tmr > 60 Then ' Время в секундах на ожидание
- Winsock1.Close
- Exit Sub
- End If
- Wend
- While Left(Response, 3) <> ResponseCode
- DoEvents
- If Tmr > 60 Then
- Exit Sub
- End If
- Wend
- Response = ""
- End Sub
- Sub SendEmail(MailServerName As String, FromName As String, FromEmailAddress As String, ToName As String, ToEmailAddress As String, EmailSubject As String, EmailBodyOfMessage As String)
- On Error GoTo Tut
- Winsock1.LocalPort = 0
- If Winsock1.State = sckClosed Then
- DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
- First = "mail from:" + Chr(32) + FromEmailAddress + vbCrLf
- Second = "rcpt to:" + Chr(32) + ToEmailAddress + vbCrLf
- Third = "Date:" + Chr(32) + DateNow + vbCrLf
- Fourth = "From:" + Chr(32) + FromName + vbCrLf
- Seventh = EmailBodyOfMessage + vbCrLf
- Eighth = "From:" + Chr(32) + vbCrLf + "To:" + ToName + Chr(32) + vbCrLf + "Subject:" + EmailSubject
- Winsock1.Protocol = 0
- Winsock1.RemoteHost = MailServerName
- Winsock1.RemotePort = 25
- Winsock1.Connect
- WaitFor ("220")
- Winsock1.SendData ("HELO " + vbCrLf)
- WaitFor ("501")
- Winsock1.SendData (First)
- WaitFor ("250")
- Winsock1.SendData (Second)
- WaitFor ("250")
- Winsock1.SendData ("data" + vbCrLf)
- WaitFor ("354")
- Winsock1.SendData (Eighth + vbCrLf)
- Winsock1.SendData (EmailBodyOfMessage + vbCrLf)
- Winsock1.SendData ("." + vbCrLf)
- WaitFor ("250")
- Winsock1.SendData ("quit" + vbCrLf)
- WaitFor ("221")
- Winsock1.Close
- Else
- GoTo Tut
- End If
- MsgBox "Письмо отправлено"
- Exit Sub
- Tut:
- MsgBox "Письмо не отправлено. Ошибка ? " & Str(Winsock1.State)
- End Sub
- Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
- Winsock1.GetData Response
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д