Winsock
Hola, tengo un problema al usar este control ya que quiero enviar un mail
con copia. Logro enviar el mensaje
pero no llega la copias a las personas indicadas.
Aqui te envio el codigo que estoy utitlizando. Te agradesco por tu colaboracion.
Private Sub WinSock1_DataArrival(ByVal bytesTotal As Long)
Dim rs As ADODB.Recordset
Dim cc As String 'variable que almacena los mail de las perosnas a quien se le enviara una copia
'solo a aquellos que pertenezcan al grupo SGC
On Error GoTo Error
'Winsock1.GetData datos, vbString ' aki entra cada vez ke recibe una respuesta y se graban en la variable datos
If Winsock1.Tag = 1 Then
Winsock1.SendData "HELO prestado" + Chr(13) + Chr(10)
Winsock1.Tag = 2
Lbl_ProgresoMail = "Fase 1 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 2 Then
Winsock1.SendData "RSET" + Chr(13) + Chr(10)
Winsock1.Tag = 3
Lbl_ProgresoMail = "Fase 2 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 3 Then
Winsock1.SendData "MAIL FROM: <" + Email + ">" + Chr(13) + Chr(10)
Winsock1.Tag = 4
Lbl_ProgresoMail = "Fase 3 de 7 completa"
' GoTo fin
End If
If Winsock1.Tag = 4 Then
Winsock1.SendData "RCPT TO:<" + Lbl_Email.Caption + ">" + Chr(13) + Chr(10)
Winsock1.Tag = 5
Lbl_ProgresoMail = "Fase 4 de 7 completa"
' GoTo fin
End If
If Winsock1.Tag = 5 Then
Winsock1.SendData "DATA" + Chr(13) + Chr(10)
Winsock1.Tag = 6
Lbl_ProgresoMail = "Fase 5 de 7 completa"
'GoTo fin
End If
sql = " SELECT Personal.Email, Personal.Codigo_Acceso " & _
" From Personal " & _
"WHERE (((Personal.Codigo_Acceso)='SGC'));"
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenStatic, adLockReadOnly
cc = Empty
Do While Not rs.EOF
cc = cc & Trim(rs.Fields(0)) & ","
rs.MoveNext
Loop
cc = left(cc, Len(cc) - 1)
Set rs = Nothing
If Winsock1.Tag = 6 Then
Winsock1.SendData "From: <" + Email + ">" + Chr(13) + Chr(10)
Winsock1.SendData "To: " + Lbl_Email.Caption + Chr(13) + Chr(10)
If cc <> Empty Then Winsock1.SendData "CC:<" + cc + ">" + Chr(13) + Chr(10)
Winsock1.SendData "Subject: " + "Apertura de SACP..." + Chr(13) + Chr(10)
Winsock1.SendData Chr(13) + Chr(10)
Winsock1.SendData Auditado.Text + Chr(13) + Chr(10) + "Por la presente te informo la apertura de la SACP N° " & Lbl_NumReg.Caption & " consignándote como receptor" + Chr(13) + Chr(10) + "Atentamente" + Chr(13) + Chr(10) + Lbl_Auditor.Caption + Chr(13) + Chr(10)
'If Mail.Tag > "" Then ' si esta un archivo adjunto
'Lbl_ProgresoMail = "Enviando archivo adjunto..."
'Call Enviar
'End If
Winsock1.SendData "." + Chr(13) + Chr(10)
Winsock1.Tag = 7
Lbl_ProgresoMail = "Fase 6 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 7 Then
Winsock1.Tag = 0
Winsock1.SendData "QUIT" + Chr(13) + Chr(10)
Screen.MousePointer = 0 ' poner mouse normal
Lbl_ProgresoMail = "Mail enviado"
MsgBox "Se ha enviado un mail al receptor de esta SACP con copia a los miembros del SGC ", vbOKOnly + vbInformation, Titulo
Winsock1.Close
Exit Sub
End If
If Winsock1.Tag < 7 Then
Screen.MousePointer = 0
MsgBox "Ha ocurrido un error al enviar este mail, si el problema persiste consulte con el encargado del sistema", vbCritical, Titulo
End If
'fin:
Error:
Screen.MousePointer = 0
MsgBox Err.Description & vbCrLf & "Ha ocurrido un error al enviar este mail, si el problema persiste consulte con el encargado del sistema", vbCritical, Titulo
End Sub
con copia. Logro enviar el mensaje
pero no llega la copias a las personas indicadas.
Aqui te envio el codigo que estoy utitlizando. Te agradesco por tu colaboracion.
Private Sub WinSock1_DataArrival(ByVal bytesTotal As Long)
Dim rs As ADODB.Recordset
Dim cc As String 'variable que almacena los mail de las perosnas a quien se le enviara una copia
'solo a aquellos que pertenezcan al grupo SGC
On Error GoTo Error
'Winsock1.GetData datos, vbString ' aki entra cada vez ke recibe una respuesta y se graban en la variable datos
If Winsock1.Tag = 1 Then
Winsock1.SendData "HELO prestado" + Chr(13) + Chr(10)
Winsock1.Tag = 2
Lbl_ProgresoMail = "Fase 1 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 2 Then
Winsock1.SendData "RSET" + Chr(13) + Chr(10)
Winsock1.Tag = 3
Lbl_ProgresoMail = "Fase 2 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 3 Then
Winsock1.SendData "MAIL FROM: <" + Email + ">" + Chr(13) + Chr(10)
Winsock1.Tag = 4
Lbl_ProgresoMail = "Fase 3 de 7 completa"
' GoTo fin
End If
If Winsock1.Tag = 4 Then
Winsock1.SendData "RCPT TO:<" + Lbl_Email.Caption + ">" + Chr(13) + Chr(10)
Winsock1.Tag = 5
Lbl_ProgresoMail = "Fase 4 de 7 completa"
' GoTo fin
End If
If Winsock1.Tag = 5 Then
Winsock1.SendData "DATA" + Chr(13) + Chr(10)
Winsock1.Tag = 6
Lbl_ProgresoMail = "Fase 5 de 7 completa"
'GoTo fin
End If
sql = " SELECT Personal.Email, Personal.Codigo_Acceso " & _
" From Personal " & _
"WHERE (((Personal.Codigo_Acceso)='SGC'));"
Set rs = New ADODB.Recordset
rs.Open sql, cn, adOpenStatic, adLockReadOnly
cc = Empty
Do While Not rs.EOF
cc = cc & Trim(rs.Fields(0)) & ","
rs.MoveNext
Loop
cc = left(cc, Len(cc) - 1)
Set rs = Nothing
If Winsock1.Tag = 6 Then
Winsock1.SendData "From: <" + Email + ">" + Chr(13) + Chr(10)
Winsock1.SendData "To: " + Lbl_Email.Caption + Chr(13) + Chr(10)
If cc <> Empty Then Winsock1.SendData "CC:<" + cc + ">" + Chr(13) + Chr(10)
Winsock1.SendData "Subject: " + "Apertura de SACP..." + Chr(13) + Chr(10)
Winsock1.SendData Chr(13) + Chr(10)
Winsock1.SendData Auditado.Text + Chr(13) + Chr(10) + "Por la presente te informo la apertura de la SACP N° " & Lbl_NumReg.Caption & " consignándote como receptor" + Chr(13) + Chr(10) + "Atentamente" + Chr(13) + Chr(10) + Lbl_Auditor.Caption + Chr(13) + Chr(10)
'If Mail.Tag > "" Then ' si esta un archivo adjunto
'Lbl_ProgresoMail = "Enviando archivo adjunto..."
'Call Enviar
'End If
Winsock1.SendData "." + Chr(13) + Chr(10)
Winsock1.Tag = 7
Lbl_ProgresoMail = "Fase 6 de 7 completa"
'GoTo fin
End If
If Winsock1.Tag = 7 Then
Winsock1.Tag = 0
Winsock1.SendData "QUIT" + Chr(13) + Chr(10)
Screen.MousePointer = 0 ' poner mouse normal
Lbl_ProgresoMail = "Mail enviado"
MsgBox "Se ha enviado un mail al receptor de esta SACP con copia a los miembros del SGC ", vbOKOnly + vbInformation, Titulo
Winsock1.Close
Exit Sub
End If
If Winsock1.Tag < 7 Then
Screen.MousePointer = 0
MsgBox "Ha ocurrido un error al enviar este mail, si el problema persiste consulte con el encargado del sistema", vbCritical, Titulo
End If
'fin:
Error:
Screen.MousePointer = 0
MsgBox Err.Description & vbCrLf & "Ha ocurrido un error al enviar este mail, si el problema persiste consulte con el encargado del sistema", vbCritical, Titulo
End Sub
Respuesta de edvanhalen
1