Отправка писем и получение электронной почты с использованием SSL

  Отправляет и получает письма по эл. почте, с серверов, которые используют шифрование SSL (gmail.com и др.)
*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.
http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

и зарегистрировать компоненту в Windows — запустить reg.bat
или использовать совместно с хранилищем внешних компонент: //infostart.ru/projects/2863/

*** Подключение:

Перем ПочтаSSL;

//ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С 7.7:

ИмяВК="AddIn.MailSSL";

Попытка
ПодключитьВнешнююКомпоненту(ИмяВК);
Исключение
Сообщить("Не удалось подключить компоненту "+ИмяВК);
КонецПопытки;

Попытка
ПочтаSSL = СоздатьОбъект(ИмяВК);
Исключение
Сообщить("Ошибка создания объекта внешней компоненты: "+ ИмяВК);
КонецПопытки;

//ПОДКЛЮЧЕНИЕ КОМПОНЕНТЫ В 1С 8.x:

ИмяВК="AddIn.MailSSL";

Попытка
ПодключитьВнешнююКомпоненту(ИмяВК);
Исключение
Предупреждение("Не удалось подключить компоненту " + ИмяВК);
КонецПопытки;

Попытка
ПочтаSSL = Новый(ИмяВК);
Исключение
Предупреждение("Ошибка создания объекта внешней компоненты: " + ИмяВК);
КонецПопытки;

//*** Свойства:

//SMTP:

ПочтаSSL.SmtpСервер = "smtp.gmail.com";
ПочтаSSL.SmtpПорт = "465";
ПочтаSSL.SmtpПользователь = "userID@gmail.com";
ПочтаSSL.SmtpПароль = "mysuperpassword";

//POP3:

ПочтаSSL.Pop3Сервер = "pop.gmail.com";
ПочтаSSL.Pop3Порт = "995";
ПочтаSSL.Pop3Пользователь = "userID@gmail.com";
ПочтаSSL.Pop3Пароль = "mysuperpassword";


//*** Методы:


//ОТПРАВИТЬ:

ПочтаSSL.Отправить(ОтКого, Кому, CC, BCC, ТемаСообщения, ТекстСообщения, ФайлыДляОтправки);
//ФайлыДляОтправки - строка, в которой пути к файлам разделены символом |

//ПОЛУЧИТЬ:

ПочтаSSL.ПроверитьПочту(); //возвращает число писем
ПочтаSSL.ПолучитьСообщение(НомерСообщения); //булево
ПочтаSSL.ПолучитьВложение(НомерСообщения, НомерВложения, КаталогКудаСохранять); //булево

//УДАЛИТЬ:

ПочтаSSL.УдалитьСообщение(НомерСообщения);

54 Comments

  1. Душелов

    Отправляет и получает письма по эл. почте, с серверов, которые используют шифрование SSL (gmail.com и др.)

    Перейти к публикации

    Reply
  2. Душелов
  3. JohnyDeath

    Я с тебя валяюсь, Душелов! Когда ты всё успеваешь?? («+» за энергетику! 😉 )

    А если письмо не отправилось, будет ли какие-нибудь сообщения?

    А в отдельный поток это всё? (можно ж и поработать, пока большое письмо отправляется)

    Reply
  4. Abadonna

    (0) Microsoft .NET Framework 2.0 тебе должны МНОГО бабла за популяризацию 😉

    Reply
  5. Душелов

    (2) Если не отправилось — будет описание ошибки. В отдельный поток могу, как проверять будешь в 1С-е, что доставлено? Придется инициировать внешнее событие для возврата результата, а это не очень удобно.

    (3) Ну так 😉

    Reply
  6. Душелов

    (2) на счет успеваю — просто сейчас межсезонье у меня с активными видами спорта, игрушки надоели, а программить люблю :)))

    Reply
  7. O-Planet

    так… пишу в личку

    Reply
  8. gavril

    Ну теперь еще получение почты и все…. на коньяк Вы уже заработали 😉

    Reply
  9. Душелов

    Я подумаю над получением 🙂

    Reply
  10. support

    8) Надумалось ли что с получением?

    Reply
  11. CheBurator

    (9) не мешайте автору! 😉

    пусть трудится над Чатом!

    Reply
  12. Душелов

    Добавлено получение почты, включая вложения и все параметры письма.

    Reply
  13. gavril

    СЕНКС!!

    Reply
  14. lion-killer

    Как насчет получения уникального идентификатора письма, даты отправления, количества и имен вложений?

    Reply
  15. Душелов

    (13) Посмотрите, что в 1С передается при получении письма — там есть все.

    Reply
  16. lion-killer

    {Форма.Форма(44)}: Ошибка при вызове метода контекста: Ошибка при выполнении метода объекта компоненты

    Сообщить(ПочтаSSL.ПроверитьПочту()); //возвращает число писем

    по причине:

    Ошибка при выполнении метода объекта компоненты

    Reply
  17. lion-killer

    При попытке посмотреть отладчиком, пишет «Неизвестный объект», компонента лежит в каталоге исполняемых файлов, зарегистрирована, Framework 3.0, — что я не так делаю?

    Reply
  18. Душелов

    Компоненту можно положить куда угодно. Попробуйте поставить фреймворк 2.0 и перерегистрировать.

    Reply
  19. Mirac

    а есть ли какието функции для проверки соединения с серсерами pop3 и smtp?

    из разряда:

    — Сервер POPSMTP не найден

    — не верный логинпароль

    ….

    Reply
  20. Душелов

    Такой проверки нет, если ошибка соединения, то пишет причину.

    Reply
  21. strah4

    А без SSL работать будет?

    Reply
  22. Душелов

    (20) Будет. А смысл?

    Reply
  23. Душелов

    Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.

    Reply
  24. 0of

    Доброго дня!

    Подскажите пожалуйста, что может быть если почта отправляется (gmail) но не принимается? ПолучитьПочту() выдает OpenPOP.POP3.InvalidPasswordException. И еще: куда передает приянтое сообщение ПочтаSSL.ПолучитьСообщение(НомерСообщения); //булево? Это сообщение типа ИнтернетПочтовоеСообщение?

    Спасибо за помощь)

    Reply
  25. aianitro

    какая-то мистика..( и ошибок не выдает и получает/отправляет письма. стоит фрэймворк 2.0. может апгрейд до 3.5 помочь?

    Reply
  26. aianitro

    (24) хотел сказать, что НЕ получает/отправляет..

    Reply
  27. jorikfon

    К сожалению не работает. Не получает и не отправляет.

    Reply
  28. Karelia

    Возможно ли отправлять по почте не в txt формате а в html с картинками?

    Reply
  29. Mirac

    а если SMTP сервер требует авторизацию? либо логин с паролем, либо такие же параметры, как и у POP3.. то куда их можно вставить?

    Reply
  30. CheBurator

    (28) попробуй вот эту: http://www.infostart.ru/projects/266/ — активно юзается в куче контор, SSL сделал — но пробовать не пробовал, так как негде — поюзай, возможно пройдет. Обработка не требует программирования.

    Reply
  31. alex_art

    Спасибо автору, реально не знал как штатными средствами почту с gmail.com отправить …

    Reply
  32. pilgrim_pavel

    что-то я не понял где атрибуты взять, типа АдресОтправителя, АдресПолучателя. Есть ли какое описание к этой компоненте от том, какая информация доступна?

    Reply
  33. vladnet

    А я вот и саму компоненту найти не могу 😥

    Подскажите где она?

    Reply
  34. DenIv

    Где сама ВК????

    Reply
  35. vabue

    Попиарюсь — http://infostart.ru/public/58093/

    Метод отправки/получения почты без компонент и вмешательства в код.

    Reply
  36. didrash

    Подскажите пожалуйста, что подразумевается под

    «и зарегистрировать компоненту в Windows — запустить reg.bat»

    ?

    Заранее благодарен.

    Reply
  37. mrsdin

    А куда сама компонента пропала? На доработке? 😉

    Reply
  38. AnryMc

    (32, 33, 36) ВК в http://infostart.ru/public/16713/

    (34) А чем stunnel отличается от ВК???

    Reply
  39. pip38

    вот здесь:

    (32, 33, 36) ВК в http://infostart.ru/public/16713/

    (34) А чем stunnel отличается от ВК???

    ВК не нашёл… кто знает где найти её всё же?

    Reply
  40. anig99

    (38) stunnel — это универсальное решение, которое представляет собой транслятор обычного подключения в SSL. Устанавливаете stunnel, настраиваете и в любом mail клиенте работаете через машину, на которой установлен stunnel

    Reply
  41. AnryMc

    (0) Так вроде в 8.2.14 будет. Осталось подождать недельку.

    Reply
  42. anig99

    (40) чтобы увидеть новый перенос срока (: Ну а вообще рекомендуется смотреть на дату публикации. На момент публикации до выхода 8.2.14 оставалось около 2,5 лет…

    Reply
  43. fishca

    (40) при этом будет, насколько я понял, получение по SSL, отправки не будет.

    Reply
  44. AnryMc

    (41) Технологическая платформа 8.2 8.2.13.219 17.03.2011 8.2.14 30.06.2011 18.05.2011 8.2.14.496 17.06.2011

    Ну а там посмотрим 😉

    Reply
  45. fishca
    30.06.2011

    ну так это же ориентировочная, а не точная дата выхода релиза

    Reply
  46. aikosyapr

    Удалось наладить отправку через SSL с помощью объекта CDO.Message

    Пример использования есть тут http://infostart.ru/public/16530/

    Для работы через SSL надо добавить строку в описании конфигурации: Письмо.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»).Value = Истина;

    Reply
  47. 2vadmaster

    Это твоя dll тут?

    http://c1.my1.ru/load/13-1-0-62

    Reply
  48. 2vadmaster

    Вот тут тоже есть неплохая dll-ка

    http://www.dialmail.ru/

    Reply
  49. mrd_84

    А можно подробнее описать? Где компоненту брать? И как зарегить?

    Reply
  50. iov

    (48) Насколько известно автора нет в живых. Как ни прискорбно.

    Писать бесполезно.

    Reply
  51. Поручик

    (48)(49) Можно без компоненты.

    http://infostart.ru/public/58093/

    http://infostart.ru/public/84576/

    Reply
  52. maksa2005

    Интересная стотья…вот только не понятно:

    ПочтаSSL.Отправить(ОтКого, Кому, CC, BCC, ТемаСообщения, ТекстСообщения, ФайлыДляОтправки)

    что за СС и ВСС

    где взять «AddIn.MailSSL»

    Reply
  53. maxkisa

    (51) maksa2005,

    то за СС и ВСС

    Ну..если размышлять логически.. раз сначала идут «от кого» и «кому», то это что-то типа «копия» и «скрытая копия». 😎

    Reply
  54. valbir

    (49) iov, автора diamail знаю лично, жив и здоров, кому надо в личку.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *