Немного модифицировал процедуру и вынес в модуль, но по прежнему не работает. Нет соединения с интернетом. Пробовал в разных сетях.
Public Sub SendMail(Кому As String, Тема As String, Сообщение As String, АдресФайла As String)
Const CDO_Cnf = "http://schemas.microsoft.com/cdo/configuration/"
Dim oCDOCnf As Object, oCDOMsg As Object
Dim SMTPserver As String, sUsername As String, sPass As String, sMsg As String
On Error Resume Next
'Назначаем конфигурацию CDO
Set oCDOCnf = CreateObject("CDO.Configuration")
With oCDOCnf.Fields
.Item(CDO_Cnf & "sendusing") = 2
.Item(CDO_Cnf & "smtpauthenticate") = 2
.Item(CDO_Cnf & "smtpserverport") = 587
.Item(CDO_Cnf & "smtpusessl") = True
.Item(CDO_Cnf & "smtpserver") = "smtp.gmail.com"
.Item(CDO_Cnf & "sendusername") = "info@visit-karelia.ru"
.Item(CDO_Cnf & "sendpassword") = "password"
.Update
End With
'Создаем сообщение
Set oCDOMsg = CreateObject("CDO.Message")
With oCDOMsg
Set .Configuration = oCDOCnf
.BodyPart.Charset = "koi8-r"
.From = "info@visit-karelia.ru"
.To = Кому
.BCC = "info@visit-karelia.ru"
.Subject = Тема
.TextBody = Сообщение
If Len(АдресФайла) > 0 Then .AddAttachment АдресФайла
.Send
End With
Select Case Err.Number
Case -2147220973: sMsg = "Нет доступа к Интернет"
Case -2147220975: sMsg = "Отказ сервера SMTP"
Case 0: sMsg = "Письмо отправлено"
End Select
MsgBox sMsg, vbInformation
Set oCDOMsg = Nothing: Set oCDOCnf = Nothing
End Sub
Public Sub SendMail(Кому As String, Тема As String, Сообщение As String, АдресФайла As String)
Const CDO_Cnf = "http://schemas.microsoft.com/cdo/configuration/"
Dim oCDOCnf As Object, oCDOMsg As Object
Dim SMTPserver As String, sUsername As String, sPass As String, sMsg As String
On Error Resume Next
'Назначаем конфигурацию CDO
Set oCDOCnf = CreateObject("CDO.Configuration")
With oCDOCnf.Fields
.Item(CDO_Cnf & "sendusing") = 2
.Item(CDO_Cnf & "smtpauthenticate") = 2
.Item(CDO_Cnf & "smtpserverport") = 587
.Item(CDO_Cnf & "smtpusessl") = True
.Item(CDO_Cnf & "smtpserver") = "smtp.gmail.com"
.Item(CDO_Cnf & "sendusername") = "info@visit-karelia.ru"
.Item(CDO_Cnf & "sendpassword") = "password"
.Update
End With
'Создаем сообщение
Set oCDOMsg = CreateObject("CDO.Message")
With oCDOMsg
Set .Configuration = oCDOCnf
.BodyPart.Charset = "koi8-r"
.From = "info@visit-karelia.ru"
.To = Кому
.BCC = "info@visit-karelia.ru"
.Subject = Тема
.TextBody = Сообщение
If Len(АдресФайла) > 0 Then .AddAttachment АдресФайла
.Send
End With
Select Case Err.Number
Case -2147220973: sMsg = "Нет доступа к Интернет"
Case -2147220975: sMsg = "Отказ сервера SMTP"
Case 0: sMsg = "Письмо отправлено"
End Select
MsgBox sMsg, vbInformation
Set oCDOMsg = Nothing: Set oCDOCnf = Nothing
End Sub