Zennoposter v5.9.0.1 и отправка email через C# макрос

tatarin

Client
Регистрация
28.10.2012
Сообщения
805
Благодарностей
137
Баллы
43
Вчера обновился и перестал работать код:
C#:
// с какого email отправлять
var fromEmailString = project.Variables["fromEmail"].Value;
// куда отправлять
var toEmailString = project.Variables["toEmail"].Value;
// логин для авторизации на сервере отправки письма
var login = project.Variables["login"].Value;
// пароль от email, от имени которого отправляем письмо
var password = project.Variables["password"].Value;
// сервер, через который отправляем письмо
var server = project.Variables["server"].Value;
// порт сервера, через который отправляем письмо
int port;
int.TryParse(project.Variables["port"].Value, out port);
// нужно ли шифровать подключение (например для gmail нужно)
bool encryptConnection;
bool.TryParse(project.Variables["encryptedConnection"].Value, out encryptConnection);
// текст письма
var messageText = project.Variables["messageBody"].Value;
// заголовок письма
var messageSubject = project.Variables["messageSubject"].Value;
// файл, который нужно приложить, если ничего не нужно прикладывать, оставляем переменную пустой
var fileToAttach = project.Variables["fileToAttach"].Value;
// Формирование реквизитов письма
var fromAddress = new System.Net.Mail.MailAddress(fromEmailString, fromEmailString);
var toAddress = new System.Net.Mail.MailAddress(toEmailString, toEmailString);
// создаем подключение к почтовому серверу
var smtp = new System.Net.Mail.SmtpClient {
                            Host = server,
                            Port = port,
                            EnableSsl = encryptConnection,
                            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
                            UseDefaultCredentials = false,
                            Credentials = new System.Net.NetworkCredential(login, password)
                        };
// создаем письмо
var message = new System.Net.Mail.MailMessage(fromAddress, toAddress) {
                                        Subject = messageSubject,
                                        Body = messageText,
                                        IsBodyHtml = false,
                                    };
// если у нас есть вложение, то добавляем его
if (!string.IsNullOrEmpty(fileToAttach))
{
    var attach = new System.Net.Mail.Attachment(fileToAttach);
    message.Attachments.Add(attach);
}
smtp.Send(message);
message.Dispose();
Взято из http://zennolab.com/discussion/threads/otpravka-email-cherez-c-makros.10874/

Выдает ошибку: Выполнение действия CSharp OwnCode Неправильная последовательность команд. Отклик сервера: Administrative prohibition -- authorization required. Users in your domain are not allowed to send email without authorization. See http://help.mail.ru/mail-help/mailer/popsmtp for details.

В версии 5.8.0.1 все работало. Не поможете?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Похоже авторизация не прошла. Версия zenno тут не причем.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
А подскажите пожалуйста, как это всё настроить? А то ввёл данные, а они не правильные. Вот на примере mail.ru какие данные нужно указывать? Я так указал:
fromEmail: [email protected]
toEmail: [email protected]
login: [email protected]
password: 4h8ceNBf7
server: smtp.mail.ru
port: 465
encryptedConnection: SSL
messageBody: текст
messageSubject: текст
В результате после запуска и длительного ожидания - время ожидания операции истекло.
Что не так я заполнил? Подскажите пожалуйста.
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28
Что указать в этой переменной? STARTTLS ?
Пробую данный код запустить для своего домена.. ящик создал... но код все равно не работает...
 

mmmm

Client
Регистрация
29.04.2018
Сообщения
1
Благодарностей
0
Баллы
1
Пробовал скрипт для почтового домена с хостинга, все супер работает.
 

ByMagnum

Client
Регистрация
28.07.2017
Сообщения
37
Благодарностей
7
Баллы
8
Что указать в этой переменной? STARTTLS ?

укажите просто true - если требуется SSL соединение ) false - если требуется отключить ... вообще конечно первый пост давно бы уже поправить - вырезать encryptedConnection - дабы сегодня все используют SSL ... может ошибаюсь ...

P.S.: true можно писать прям в переменную если в коде не сможете прописать в куске EnableSsl = encryptConnection записать EnableSsl = true
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)