В почтовом клиенте 1С отсутствует поддержка шифрования SSL, поэтому не получится напрямую подключить 1С к Gmail. Воспользуемся бесплатной программой Stunnel, которая поможет справиться с шифрованием SSL и уже через нее настроим связь с почтовиком Google.
На момент написания данной статьи использовалась версия Stunnel 5.00. Запускаем инсталлятор. После установки программы удостоверимся, чтобы в файле stunnel.conf были указаны следующие настройки, и если их нет, либо они закомментированы, то необходимо отредактировать соответствующим образом:
[SMTP Gmail ]
accept = 127.0.0.1:25
connect = smtp.gmail.com:465
Следует отметить, что данную программу нужно будет запускать каждый раз при необходимости отправки писем из 1С. Для того, чтобы она запускалась как служба при старте компа, в консоли необходимо прописать следующие команды, предватительно перейдя в каталог stunnel:
stunnel.exe -install
net start stunnel
Теперь в 1С пропишем программный код для подключения и отправки писем. Для примера, необходимо отправить заявку на e-мэйл поставщика:
Процедура ОтправитьЗаявкуНаЕмэйл(ЕмэйлПолучатель)Экспорт
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(ПолучитьПрофиль());
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Вложения.Добавить(КаталогВременныхФайлов() + "zayavka.pdf"); // заявка предварительно была сохранена в формате .pdf в каталоге временных файлов
Сообщение.Отправитель = login@gmail.com; // e-mail адрес-отправитель, который отобразится у получателя письма
Сообщение.ИмяОтправителя = "Моё имя";
ПочтовыеАдреса = Сообщение.Получатели;
ПочтовыйАдрес = ПочтовыеАдреса.Добавить();
ПочтовыйАдрес.Адрес = ЕмэйлПолучатель;
Сообщение.Тема = "Заявка";
Текст = Сообщение.Тексты.Добавить("Добрый день!...");
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Попытка
Почта.Послать(Сообщение);
Сообщить("Письмо было успешно отправлено");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Почта.Отключиться();
КонецПроцедуры
Функция ПолучитьПрофиль() // необходимо иметь свой почтовый ящик на gmail, информацию о котором и заполняем в настройке профиля
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "127.0.0.1";
Профиль.ПортSMTP = 25;
// Пароль аккаунта gmail.com
Профиль.Пароль = "123456";
// Пароль аккаунта gmail.com
Профиль.ПарольSMTP = "123456";
// Полное наименование ящика
Профиль.Пользователь = "login@gmail.com";
// Полное наименование ящика
Профиль.ПользовательSMTP = "login@gmail.com";
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
// Время ожидания выполнения операции в секундах
Профиль.ВремяОжидания = 50;
Возврат Профиль;
КонецФункции