Имя: Пароль:
1C
 
метод отправки cdo 1c
0 tigrandis
 
03.07.17
12:44
Всем привет, делал обработку для рассылки счетов из 1с КА 2.2, использую метод Cdo
iMsg = Новый COMОбъект("CDO.Message");
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value         = 2;
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value         = УчетнаяЗапись.SMTPСервер; //АдресСервераSMTP
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value     = УчетнаяЗапись.ПортSMTP; //.ПортSMTP
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = УчетнаяЗапись.ТребуетсяSMTPАутентификация; //= ПолучитьСпособSMTPАутентификации() <> СпособSMTPАутентификации.БезАутентификации;
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
            
            //Если ПолучитьСпособSMTPАутентификации() <> СпособSMTPАутентификации.БезАутентификации Тогда
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value     = УчетнаяЗапись.ЛогинSMTP; //ПользовательSMTP;
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value     = УчетнаяЗапись.ПарольSMTP; //ПарольSMTP;
            //КонецЕсли;
            
            //Если ИспользоватьSMTPSSL Тогда
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = истина;
            //КонецЕсли;
            
            //iMsg.DSNOptions = 2;
            
            iMsg.To         = Почта; //Получатель.Значение; //Получатель;
            iMsg.From         = УчетнаяЗапись.Отправитель; //УчетнаяЗапись.АдресЭлектроннойПочты; //Отправитель;
            iMsg.Sender     = УчетнаяЗапись.Отправитель;
            iMsg.ReplyTo     = УчетнаяЗапись.Отправитель;
            iMsg.Subject     = ТемаПисьма;
            iMsg.TextBody     = ТекстПисьма;

хитрость в том, что письмо с яндексовской учетки уходит нормально, а с майла нет, причем нет ошибок просто не доходит письмо, но если с той же майловской почты отправить письмо из счета, то все уходит нормально
1 Лефмихалыч
 
03.07.17
13:05
на кой ляд этот cdo? Почему не использовать ИнтернерПочту?
2 mexanik_96
 
03.07.17
13:22
(1) так нада
3 Лефмихалыч
 
03.07.17
13:25
(2) ну, ты ковбой, ты и прыгай...
Посмотри в справке к майлру, какие там параметры безопасности и шифрования нужны - почти наверняка в них дело
4 Cyberhawk
 
03.07.17
13:27
майл.ру уже несколько лет не поддерживает http, только https
5 tigrandis
 
03.07.17
13:43
это типа никак уже ?
6 tigrandis
 
03.07.17
13:43
можно кусочек кода который будет норм работать на майле ?
7 Лефмихалыч
 
03.07.17
13:45
(4) думаю, что это ни фига ни при чем. Http в данном случае - только уникальный идентификатор имени свойства в коллекции, не более
8 Cyberhawk
 
03.07.17
14:00
(7) Порты и (вроде) способ аутентификации тоже надо задавать соответствующий
9 Cyberhawk
 
03.07.17
14:08
"кусочек кода который будет норм работать на майле"
Дарю:
    ВариантНастройки.СерверВходящейПочты = "mail." + ИмяСервераВУчетнойЗаписи;
    ВариантНастройки.ПортСервераВходящейПочты = 993;
    ВариантНастройки.ИспользоватьЗащищенноеСоединениеДляВходящейПочты = Истина;
10 Cyberhawk
 
03.07.17
14:09
На отправку:
    ВариантНастройки.СерверИсходящейПочты = "smtp." + ИмяСервераВУчетнойЗаписи;
    ВариантНастройки.ПортСервераИсходящейПочты = 465;
    ВариантНастройки.ИспользоватьЗащищенноеСоединениеДляИсходящейПочты = Истина;
11 tigrandis
 
03.07.17
14:38
просьба для не очень опытных у меня код вида
            iMsg = Новый COMОбъект("CDO.Message");
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value         = 2;
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value         = УчетнаяЗапись.SMTPСервер; //АдресСервераSMTP
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value     = УчетнаяЗапись.ПортSMTP; //.ПортSMTP
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = УчетнаяЗапись.ТребуетсяSMTPАутентификация; //= ПолучитьСпособSMTPАутентификации() <> СпособSMTPАутентификации.БезАутентификации;
            iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;

нужно чтоб вашим методом это было, за ранее спссс