Все распространенные сервисы начали использовать протокол SSL. Так что нужно или приспосабливаться, или использовать почту qip.ru, km.ru и т. п. (если для Вас это приемлемо).
Остается все меньше возможностей для использования в 1С 7.7 ВК Rom-Mail и ей подобных.
Попробуем обойтись средствами Windows.
Код отправки письма с помощью ВК Rom-Mail для яндекса мог выглядеть примерно таким образом:
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ROM-Mail.dll") = 0 Тогда Сообщить("ROM-Mail.dll не загружена!"); КонецЕсли; Mail = СоздатьОбъект("AddIn.AddInMail"); Mail.СерверОтправки = "smtp.yandex.ru"; Mail.ПортОтправки = "25"; Mail.Логин = "test@yandex.ru"; Mail.Пароль = "111"; Mail.АутентификацияПриОтправке = 1; Если Mail.Подключиться("Отправка") = 0 Тогда Возврат; КонецЕсли; Mail.АдресОтправителя = "test@yandex.ru"; Mail.ИмяОтправителя = "Тест"; Mail.АдресПолучателя = "test1@ya.ru"; Mail.Тема = "Тема"; Mail.Тело = "Текст"; Mail.Вложения = "C:\1.txt"; Mail.Кодировка = "windows-1251"; Mail.ТипПисьма = 0; Если Mail.Отправить() = 0 Тогда Возврат; КонецЕсли; Mail.Отключиться();
Теперь такой подход не заработает, т.к. ВК Rom-Mail не умеет использовать протокол SSL.
Сделаем то же самое с помощью CDO.Message (с учетом новых настроек для yandex.ru).
loConfig = CreateObject("CDO.Configuration"); loCdoMessage = CreateObject("CDO.Message"); loCdoMessage.Configuration = loConfig; loCdoMessage.From = "Тест 1C"""" <test@yandex.ru>"; loCdoMessage.To = "test1@ya.ru"; loCdoMessage.Subject = "Тема письма"; ТекстСообщения = "Текст письма"; HTMLBody = "<html> |<head> |<meta content=""text/html; charset=Windows-1251"" http-equiv=""content-type""> |<title> Тестовое сообщение </title> |</head> |<body> |<h3>" + ТекстСообщения + "</h3> |<p></p> |</body> |</html>"; //|" + ТекстСообщения + " для варианта без стилей
loCdoMessage.BodyPart.Charset = "windows-1251"; loCdoMessage.HTMLBody = HTMLBody; loCdoMessage.AddAttachment("C:\1.txt"); loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing"). Value = 2; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver"). Value = "smtp.yandex.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport"). Value = "465"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername"). Value = "test@yandex.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"). Value = "111"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60; loConfig.Fields.Update(); loCdoMessage.Send();
Приведу пример настроек для tut.by:
loCdoMessage.From = "Тест 1C"""" <test@tut.by>"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver"). Value = "smtp.gmail.com"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport"). Value = "465"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername"). Value = "test@tut.by"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"). Value = "111"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
Для mail.ru:
loCdoMessage.From = "Тест 1C"""" <test@mail.ru>"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver"). Value = "smtp.mail.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport"). Value = "465"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername"). Value = "test@mail.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"). Value = "111"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
Для rambler.ru:
loCdoMessage.From = "Тест 1C"""" <test@rambler.ru>"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver"). Value = "smtp.rambler.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport"). Value = "465"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername"). Value = "test@rambler.ru"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword"). Value = "111"; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl"). Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;