Code Monkey home page Code Monkey logo

tmail's Introduction

TMail

Библиотека для отправки электронных сообщений.

Описание

Библиотека на OneScript для отправки сообщений через элктронную почту.

Установка

Установка через пакетный менеджер opm командой:

opm install tmail

Для отправки почты используется стандартные компоненты - COM-Объекты CDO.Configuration и CDO.Message:

Попытка
    loConfig = Новый COMОбъект("CDO.Configuration");
    loCdoMessage = Новый COMОбъект("CDO.Message");
Исключение
    ТекстОшибки = ОписаниеОшибки();
    Возврат Ложь;
КонецПопытки;

Соответственно, приложение работает только в ОС семейства Windows.

Использование библиотеки

Библиотека подключается как отдельный класс. Экземпляр класса используется для отправки сообщений с указанного профиля.

Подключение библиотеки:

#Использовать TMail

Создание класса:

УправлениеЭП = Новый ТУправлениеЭлектроннойПочтой();

Параметры класса:

  • УчетнаяЗаписьЭП - Структура параметров запуска, состав:
    • АдресSMTP - Адрес SMTP-сервера
    • ПортSMTP - Порт SMTP-сервера
    • ПользовательSMTP - Имя пользователя SMTP-сервера
    • ПарольSMTP - Пароль пользователя SMTP-сервера
    • ИспользоватьSSL - Использование SSL
  • СтруктураСообщения - Структура отправляемого сообщения, состав:
    • АдресЭлектроннойПочтыПолучателя - Адрес электронной почты получателя сообщения. Может содержать несколько адресов, разделеных знаком ";"
    • АдресЭлектроннойПочтыОтправителя - Адрес электронной почты отправителя сообщения
    • ТемаСообщения - Тема сообщения
    • ТипТекстаПочтовогоСообщения - "HTML" или "Строка", по умолчанию "Строка"
    • ТекстСообщения - Текст сообщения
    • Вложения - Строка или СписокЗначений, состоящий из строк - Путь к вложениями сообщения
  • ТекстОшибки - Переменная для возврата ошибки, если таковая имела место быть

Экспортные процедуры класса:

Процедура НачатьТекстСообщенияHTML(Знач Заголовок="",Кодировка="Windows-1251")

  • Создает начальные теги текста сообщения для HTML-документа.
  • Параметры:
    • Заголовок - Строка - Заголовок страницы. Если не указан, используется тема сообщения.
    • Кодировка - Строка - Кодировка страницы.

Процедура ДобавитьВТекстСообщенияHTML(СтрокаДляДобавления="") Экспорт

  • Добавляет строку в текст сообщения для HTML-документа, оборачивая строку в тег <p>
  • Параметры:
    • СтрокаДляДобавления - Строка - Строка для добавления в файл

Процедура ЗавершитьТекстСообщенияHTML()

  • Создает завершающие теги текста сообщения для HTML-документа

Функция ОтправитьСообщение()

  • Отправить электронное сообщение с помощью CDO.Message.
  • В качестве параметров используются глобальные переменные:
    • СтруктураСообщения - Структура - струкутура отправляемого сообщения:
      • АдресЭлектроннойПочтыПолучателя - Строка - Адрес электронной почты получателя сообщения. Может содержать несколько адресов, разделеных знаком ";".
      • АдресЭлектроннойПочтыОтправителя - Строка - Адрес электронной почты отправителя сообщения.
      • ТемаСообщения - Строка - Тема сообщения.
      • ТипТекстаПочтовогоСообщения - Строка - "HTML" или "Строка"
      • ТекстСообщения - Строка - Текст сообщения
      • Вложения - Строка или СписокЗначений, состоящий из строк - Путь к вложениями сообщения
    • УчетнаяЗаписьЭП - Структура - структура учетной записи электронной почты для отправки:
      • АдресSMTP - Строка - Адрес SMTP-сервера
      • ПортSMTP - Строка - Порт SMTP-сервера
      • ПользовательSMTP - Строка - Имя пользвоателя SMTP-сервера
      • ПарольSMTP - Строка - Пароль пользвователя SMTP-сервера
      • ИспользоватьSSL - Булево - Использовать протокол SSL
    • ТекстОшибки - Строка - В данный параметр записывается текст ошибки, если не удалось отправить сообщение
  • Возвращаемое значение:
    • Булево - Результат отправки сообщения:
      • Истина - Сообщение успешно отправлено.
      • Ложь - Ошибка отправки собщения

Пример использования

#Использовать TMail 

// Создадим объект
УправлениеЭП = Новый ТУправлениеЭлектроннойПочтой();

// Введем параметры ЭП
УчетнаяЗаписьЭП = УправлениеЭП.УчетнаяЗаписьЭП;
УчетнаяЗаписьЭП.АдресSMTP = "smtp.mydomen.com";
УчетнаяЗаписьЭП.ПортSMTP = 465;  
УчетнаяЗаписьЭП.ПользовательSMTP = "[email protected]";
УчетнаяЗаписьЭП.ПарольSMTP = "pass_mail";
УчетнаяЗаписьЭП.ИспользоватьSSL = Истина;

// Структура сообщения
СтруктураСообщения = УправлениеЭП.СтруктураСообщения;
СтруктураСообщения.АдресЭлектроннойПочтыПолучателя = "[email protected];";

// Флаг наличия ошибок
БылиОшибки = Ложь;

// Создадим необходимые файлы
Если РабочийКаталог = "" Тогда
    РабочийКаталог = ".\";
КонецЕсли;
РабочийКаталог = ОбъединитьПути(РабочийКаталог,"Test_TMail");

// Создадим файл для вложения
СоздатьКаталог(РабочийКаталог);
ИмяФайлаДляВложения = ОбъединитьПути(РабочийКаталог,"TestFile.txt");
ЗаписьТекста = Новый ЗаписьТекста;
ЗаписьТекста.Открыть(ИмяФайлаДляВложения,,,Истина);
ЗаписьТекста.ЗаписатьСтроку("Это текст файла вложения");
ЗаписьТекста.Закрыть();	

// Заполним структуру сообщения
СтруктураСообщения = УправлениеЭП.СтруктураСообщения;
СтруктураСообщения.Вложения = ИмяФайлаДляВложения;
СтруктураСообщения.АдресЭлектроннойПочтыОтправителя = УправлениеЭП.УчетнаяЗаписьЭП.ПользовательSMTP;
СтруктураСообщения.ТемаСообщения = "Проверка работы библиотеки TMail";
СтруктураСообщения.ТипТекстаПочтовогоСообщения = "HTML";
УправлениеЭП.НачатьТекстСообщенияHTML();
УправлениеЭП.ДобавитьВТекстСообщенияHTML();
УправлениеЭП.ДобавитьВТекстСообщенияHTML("Проверка работы библиотеки TMail");
УправлениеЭП.ДобавитьВТекстСообщенияHTML();
УправлениеЭП.ЗавершитьТекстСообщенияHTML();

// Отправим сообщение
Если УправлениеЭП.ОтправитьСообщение() Тогда
    Сообщить("ОтправитьСообщение: УСПЕШНО");
Иначе
    Сообщить("ОтправитьСообщение: " + УправлениеЭП.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

УдалитьФайлы(ИмяФайлаДляВложения); 
УдалитьФайлы(РабочийКаталог); 

Результат:

Скриншот1

Скриншот2

tmail's People

Contributors

tavalik avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.