Понравилась ли вам эта идея?
Поддерживаю, причем очень бы хотелось чтобы можно было отправить письмо "от системы", а не создавать активность E-mail от конкретного пользователя, что замусоривает ему активности.
То есть просто "пнуть" один раз письмо через преднастроеный почтовик. Сделать действие процесса с внятной формой:
Кому:
Тема:
Тело письма:
с возможностью заполнения этих полей из параметров процесса и его элементов или при желании заполнить их в коде, если нужны какие то вычисления.
Весьма было бы удобно.
Хочешь быстро и хорошо -- сделай сам!
Озаботился проблемой вплотную и меня посетило просветление!
Це ж доть неть, японский городовой! Тут собака и откопала мне кость и даже с кусочками мяса, потому что, как ни странно, всё работает! :smile:
var client = new SmtpClient("НАШ_ПОЧТОВЫЙ СЕРВЕР", ПОРТ); var credential = new NetworkCredential("USER", "PASSWORD"); client.Credentials = credential; var message = new MailMessage("ОТ КОГО", "КОМУ, "ТЕМА", "ТЕЛО ПИСЬМА"); client.Send(message);
Не забываем подключать System.Net и System.Net.Mail
По необходимости используем, смысл прозрачен, я думаю:
client.EnableSsl = true; message.IsBodyHtml = true;
Для красоты и завершенности можно еще и так добавить (подключаем System.Text):
message.SubjectEncoding = Encoding.UTF8; message.BodyEncoding = Encoding.UTF8;
P.S. хватит из-за этой чешуи, как оказалось, терзать Terrasoft
В БП вы можете создать элемент типа Задание-сценарий и там все это написать.
Если параметры (от кого/кому отправить письмо, тема письма или само сообщение) у вас определяются по ходу выполнения процесса, то надо их при вычислении положить в параметры БП и в этом сценарии использовать.
не знаю, у меня ее нет, проверить не могу.
Но если там .Net, то должно.
Ок, сделал вроде всё правильно, однако на почту ничего не приходит
var client = new SmtpClient("smtp.gmail.com", 465); var credential = new NetworkCredential("xxx@xxxx.xx", "xxxxxx"); client.Credentials = credential; var message = new MailMessage("ZKReminding", MailTo, "Theme", "Body"); message.SubjectEncoding = Encoding.UTF8; message.BodyEncoding = Encoding.UTF8; client.Send(message);
В MailTo записал e-mail ответственного...
Ну вот тут уже надо техническую поддержку спрашивать.
У вас on-demand редакция? Возможно просто порты закрыты.
если про это "ZKReminding", то я думаю надо именно адрес почты написать.
Да еще есть тонкость, письма уходят с сервера BPM, а не с вашего компьютера, поэтому все порты необходимые, чтобы послать почту через gmail, к примеру, должны быть открыты именно для сервера.
Александр, позволю себе ещё немного помучить Вас вопросами.
Как открыть эти (и как узнать какие именно) порты? Если письма отправляются в обычном режиме из активности, значит ли это, что порты уже открыты?
Действитеьно, ZKReminding нужно было указать в форме адреса. Теперь получаю предупреждение
Время ожидания операции истекло.