Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16

Ошибка при отправке почты через smtp.rambler.ru

01.12.2016, 17:35. Показов 8399. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе, все, время суток!
Проблема: отправляю почтовое сообщение через TIdSMTP сервер. Пример взял уж не помню где и когда, с ним раньше все было ок. Ну опробовал - хорошо! Потом срочно сменили тему... Сейчас достал, пробую и получаю Еррор!!

535 5.7.0 Incorrect username/password or rate limit exceeded or account blocked or protocol not enabled

Ну username/password - это сами понимаете, а с остальным - непонятки! У меня 6 Билдер в стандартной комплектации. Нарыл, что проблемы могут быть из-за Indy, лучше бы Indy10. Но!!!. Раньше то все работало! Даже мессаги до сих пор лежат на приемной стороне. Отправлял с Рамблера, все порты перепробовал. Через браузер почта нормально. Помогите, кому чего не жалко!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void __fastcall TForm1::Button7Click(TObject *Sender)
{
    // TIdEMailAddressItem *v;
    IdMessage1->CharSet = "Win-1251"; // rus
    IdMessage1->ContentTransferEncoding = "8bit";
    IdMessage1->ContentType = "text/plain";
 
    IdMessage1->Recipients->EMailAddresses = "login@yandex.ru";
    // IdMessage1->CCList->EMailAddresses = "адрес-куда-копию";
    IdMessage1->Subject = "From IA";
    IdMessage1->Body->Text = "oiupo";
 
    IdMessage1->From->Name = "IA";
    IdMessage1->From->Address = "iapost";
    // IdMessage1->ReplyTo->EMailAddresses = "адрес-для-ответа";
 
    IdSMTP1->Host = Edit1->Text.c_str();
    IdSMTP1->Port = Edit2->Text.ToInt();
    IdSMTP1->UserId = "mylogin@rambler.ru";
    IdSMTP1->Password = "mypasswrd";
    IdSMTP1->AuthenticationType = atLogin; // atLogin, atNone
 
    Memo1->Lines->Clear();
 
    Memo1->Lines->Add("Try to connect...");
    IdSMTP1->Connect();
 
    // До этого места доходит (эвент по коннект имеется)
    // а далее та ошибка, причем мгновенно!
 
    IdSMTP1->Authenticate();
    Memo1->Lines->Add("Authenticate");
 
    IdSMTP1->Send(IdMessage1);
    Memo1->Lines->Add("Send");
 
    IdSMTP1->Disconnect();
    Memo1->Lines->Add("DisConnect");
}
Может что в компе? Но почта то нормально работает, может у Рамблера? Нежели в голове...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2016, 17:35
Ответы с готовыми решениями:

Какой SMTP указывать при отправке почты на разные домены
Пытаюсь отправить сообщение на 2 почты . Пример : string smtpHost = "smtp.хост.ru(com)"; int...

Регистратор почты на Rambler: При открытии капчи появляется ошибка
Здравствуйте. Помогите пожалуйста доделать регер почты на рамблере. Не пойму в чем дело. При открытии капчи вылазит ошибка. ...

Ошибка отправки почты через smtp GMail
Товарищи, такая проблема - пытаюсь отправить почту через smtp с сайта. Вот кусок кода: static function sendMail($data){ ...

25
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 19:35
Цитата Сообщение от IA52 Посмотреть сообщение
C++
1
2
IdSMTP1->Host = Edit1->Text.c_str(); 
IdSMTP1->Port = Edit2->Text.ToInt();
Что тут вводится?

Надеюсь используется SSL ?
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
01.12.2016, 21:41  [ТС]
Ой, да!
Это уж я для отладки...
Там в хост "smtp.rambler.ru", а в порт 25. И 465 пробовал и другие с тем же успехом
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 21:43
Цитата Сообщение от IA52 Посмотреть сообщение
а в порт 25. И 465 пробовал и другие с тем же успехом
Тыкать наугад не нужно, нужно ввести именно те данные которые указаны в настройках на сайте почтового сервиса.

Еще раз нужно подключить TIdSSLIOHandlerSocketOpenSSL обязательно.
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
01.12.2016, 21:44  [ТС]
SSL - нет, раньше же работало
Да, и спасибо, что откликнулись.
А что с SSL присоветуете?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 21:51
Цитата Сообщение от IA52 Посмотреть сообщение
SSL - нет, раньше же работало
Да, и спасибо, что откликнулись.
А что с SSL присоветуете?
То было раньше, сейчас почти все сервисы работают только через SSL

Добавлено через 1 минуту
И
Цитата Сообщение от IA52 Посмотреть сообщение
У меня 6 Билдер в стандартной комплектации.
Советую сменить на новый билдер, с нормальной версией Indy10+.
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
01.12.2016, 21:52  [ТС]
А SSL как использовать? (Извините за тупость - несколько иной профиль). Там в классе его некуда приаттачить.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 21:54
Воспользуйтесь поиском по форуму, тема избитая.
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
01.12.2016, 21:54  [ТС]
Это я давно понял. Видимо придется. Попробую отдельно поменять на Indy10 компоненту. Хлопотно!
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 22:00
Введите настройки исходящей почты (указаны ниже) и нажмите кнопку «Далее».

имя пользователя: адрес электронной почты, например primer@rambler.ru;
пароль: пароль от вашей электронной почты;
сервер SMTP: smtp.rambler.ru;
тип защиты: SSL/TLS;
порт сервера: 465.
http://help.rambler.ru/mail/ma... enty/1392/

Цитата Сообщение от IA52 Посмотреть сообщение
Попробую отдельно поменять на Indy10 компоненту.
Плохая идея, поставить новую среду легче и надежнее.

Добавлено через 3 минуты
У меня есть такой пример (под С++Builder XE3) : http://avazart.zz.mu/2014/10/tidsmtp/
Но возможно что-то потребуется до настроить.
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
01.12.2016, 22:02  [ТС]
Просто не переношу, когда что-то не получается. Уже в самые кишки забрался Вайршарке. А там вообще такое творится...

Добавлено через 1 минуту
Ага, спасибо за пример. Сейчас посмотрю. Но ХЕ3 ...
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.12.2016, 22:04
Для отладки удобно пользоваться спец. компонентами https://www.cyberforum.ru/blog... .html#a_11
1
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
02.12.2016, 20:17  [ТС]
Avazart, hi

Indy 10 я поставил быстро, правда со скомпилятыми файлами. С Яндекса отправляется, непонятки с русским текстом и с прикручиванием файла к письму. Но это пришлось отложить. Обозначилась нереентерабельность программы:
Запускаю прогу, жму на батон, письмо ушло, жму еще и получаю ошибку

Error connecting with SSL.error:1408F10B:SSL3GET_RECORD:wrong version number

Если выйти из приложения, потом войти, то опять можно 1 раз отправить.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.12.2016, 21:20
Ну мне нечего посоветовать, кроме как перечитать тему с начала.
Ибо вы проигнорировали советы и не смотрели примеры кода.

Да и про SSL https://www.cyberforum.ru/blog... .html#a_10
0
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
03.12.2016, 23:45  [ТС]
Нет, внимательно прошерстил по форуму, кое-что со стороны. Все работает на передачу и файлы аттачатся и русские буквы передаются кроме темы; как ни извращался, но если в поле ->Suject в строке все символы < 0x80, то она ее пихает один в один. Ну это я переживу, а вот теперь с приемом вообще беда, Connect - НЕ ПРОХОДИТ, что только не пробовал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    IdPOP31->AuthType = patUserPass;
    IdPOP31->Host = "pop.yandex.ru";
    IdPOP31->Port = 995; // 110, 587, 993, 995
    // IdPOP31->Username="******";
    IdPOP31->Username = "логин@yandex.ru";
    // IdPOP31->Username = "логин";
    IdPOP31->Password = "пароль";
    // IdPOP31->
    IdPOP31->ConnectTimeout = 11111;
    IdSSLIOHandlerSocketOpenSSL1->Host = IdPOP31->Host;
    IdSSLIOHandlerSocketOpenSSL1->Port = IdPOP31->Port;
    IdSSLIOHandlerSocketOpenSSL1->Destination = IdPOP31->Host+":"+IntToStr(IdPOP31->Port);
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method = sslvTLSv1;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Mode = sslmUnassigned;
    IdPOP31->IOHandler = IdSSLIOHandlerSocketOpenSSL1;
    IdPOP31->UseTLS = utUseImplicitTLS;
    IdPOP31->Connect();
В инете полно жалоб, похоже отрубили доступ по POP3 протоколу, мобыть у кого какие идеи...
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.12.2016, 11:52
Цитата Сообщение от IA52 Посмотреть сообщение
Нет, внимательно прошерстил по форуму, кое-что со стороны.
Цитата Сообщение от IA52 Посмотреть сообщение
Все работает на передачу и файлы аттачатся и русские буквы передаются кроме темы; как ни извращался, но если в поле ->Suject в строке все символы < 0x80, то она ее пихает один в один.
В таком случае советую разуть глаза. Я в этой теме кинул ссылку пример, где Subject заполняется.
1
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 16
04.12.2016, 12:56  [ТС]
Пропробовал, так это для ХЕ, а у меня 6й, а он не догоняет за TEncoding, ни класс ни намспейс говорит. А с глазами все в рамках приличия. А что там с перекодировкой надо в двух словах? Может сам нарисую? Но и не в этом даже дело, Яндекс не пускает поп3!!!
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.12.2016, 13:29
А я что советовал? Я советовал сменить среду, а не заниматься выносом себе мозга.
0
 Аватар для Whatson2
8 / 8 / 1
Регистрация: 06.09.2014
Сообщений: 52
23.12.2016, 11:25
Аналогичная проблема(!), только сегодня обнаружил, раньше всё работало с подключённым SSL (XE2, Indy v10.5.8). Пересылка с ящика на ящик вручную с ПК работает. Получаю через TIdLogEvent ответ:

23.12.2016 11:01:29 - 220 mail.rambler.ru ESMTP ready<EOL>
23.12.2016 11:01:29 - 250-mail.rambler.ru<EOL>250-SIZE 31457280<EOL>250-ENHANCEDSTATUSCODES<EOL>250-8BITMIME<EOL>250-AUTH PLAIN LOGIN<EOL>250 STARTTLS<EOL>
23.12.2016 11:01:29 - 220 2.0.0 Start TLS<EOL>
23.12.2016 11:01:29 - 250-mail.rambler.ru<EOL>250-SIZE 31457280<EOL>250-ENHANCEDSTATUSCODES<EOL>250-8BITMIME<EOL>250 AUTH PLAIN LOGIN<EOL>
23.12.2016 11:01:29 - 334 VXNlcm5hbWU6<EOL>
23.12.2016 11:01:29 - 334 UGFzc3dvcmQ6<EOL>
23.12.2016 11:01:29 - 535 5.7.0 Incorrect username/password or rate limit exceeded or account blocked or protocol not enabled<EOL>


Привожу код:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
void __fastcall TSender::DoSendEmail()
{
    //***************Adjusting sender and receiver properties*****************//
    //std::auto_ptr<TIdSMTP> IdSMTP1(new TIdSMTP(0));                           //Crap if fault in IdSMTP1 methods...
    TIdSMTP *IdSMTP1 = new TIdSMTP(0);
    IdSMTP1->Host = LoadS(CCDHostFrom);                                         //e_Host = smtp.rambler.ru
    IdSMTP1->Port = 465;                                                        //e_Port;
    IdSMTP1->Username = LoadS(CCDUsernameFrom);                                 //e_From_Name; - правильное!
    IdSMTP1->Password = LoadS(CCDUserPasswordFrom);                             //e_From_Pass; - правильный!
 
    std::auto_ptr<TIdSSLIOHandlerSocketOpenSSL> IdSSLIOHandlerSocketOpenSSL1(new TIdSSLIOHandlerSocketOpenSSL(0));
    IdSSLIOHandlerSocketOpenSSL1->Destination             = IdSMTP1->Host + LoadS(MCMColon) + IntToStr(IdSMTP1->Port);
    IdSSLIOHandlerSocketOpenSSL1->Host                    = IdSMTP1->Host;
    IdSSLIOHandlerSocketOpenSSL1->Port                    = IdSMTP1->Port;
    IdSSLIOHandlerSocketOpenSSL1->DefaultPort             = 0;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method      = sslvTLSv1;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Mode        = sslmUnassigned;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->VerifyMode  = TIdSSLVerifyModeSet();
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->VerifyDepth = 0;
 
    IdSMTP1->IOHandler = IdSSLIOHandlerSocketOpenSSL1.get();
    IdSMTP1->UseTLS = utUseExplicitTLS;                                         //TIdUseTLS
    IdSMTP1->AuthType =     satDefault;
    IdSMTP1->ReadTimeout =       15000;
    IdSMTP1->ConnectTimeout =    15000;
    IdSMTP1->OnWorkBegin = (TWorkBeginEvent)&_IdSMTPSendWorkBegin;
    IdSMTP1->OnWork = (TWorkEvent)&_IdSMTPSendWork;
    IdSMTP1->OnWorkEnd = (TWorkEndEvent)&_IdSMTPSendWorkEnd;
    IdSMTP1->OnStatus = (TIdStatusEvent)&_IdSMTPStatus;
    //************End of adjusting sender and receiver properties*************//
    //***************************Compose message *****************************//
    std::auto_ptr<TIdMessage> IdMessage1(new TIdMessage(0));
    //TIdMessage *IdMessage1 = new TIdMessage(0);
    IdMessage1->Clear();
    IdMessage1->From->Address = IdSMTP1->Username;                          //e_From_Adress; - правильное!
    IdMessage1->Recipients->EMailAddresses = LoadS(CCDUserEmailTo);             //UserEmailTo; - правильное!
 
    UnicodeString Subject= LoadS(CCDSubjectReport);
    IdMessage1->ExtraHeaders->AddValue(LoadS(CCDSubject), _EncodeQuotedUtf8(Subject));
 
    IdMessage1->From->Name = _EncodeQuotedUtf8(_strHDDSerialNumber + LoadS(CCDUserHDD));           //_strHDDSerialNumber -  external string
 
    IdMessage1->Body->Text = DateTime + L"\r\n" + LoadS(CCDTextFromUser) + user_text;        //user_text -  external string
 
    IdMessage1->ContentType = LoadS(CCDContentType);
    IdMessage1->ContentTransferEncoding = LoadS(CCDContentTransferEncoding);    //EncodeQuoted...
    //IdMessage1->ContentTransferEncoding= "base64";                            //EncodeBase64...
    IdMessage1->CharSet = LoadS(CCDCharSet);                                                   //CCDCharSet = "utf-8"
 
    IdMessage1->Priority = mpLow;                                               //Letter priority
    IdMessage1->Flags = IdMessage1->Flags << mfFlagged;
//***************************End message buildeing****************************//
//******************************Create LogEvent*******************************//
    std::auto_ptr<TIdLogEvent> IdLogEvent1(new TIdLogEvent(Application->MainForm->Owner));
    IdLogEvent1->OnReceived = (TLogItemDataEvent)&_IdLogEvent1Received;
    IdSMTP1->Intercept = IdLogEvent1.get();
    IdLogEvent1->Active = true;
//***************************End LogEvent creation****************************//
//********************************Send message********************************//
    try {
        try {
            IdSMTP1->Connect();
            IdSMTP1->Send(IdMessage1.get());
            bSend_res = true;
        } catch(const EIdException &E) {
            ShowMessage(E.Message);
            bSend_res = false;
        } catch(const Exception &E) {
            ShowMessage(E.Message);
            bSend_res = false;
        }
    } __finally {
        IdSMTP1->Disconnect();
        IdSMTP1->Free();
    }
}
//---------------------------------------------------------------------------
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.12.2016, 12:48
Цитата Сообщение от Whatson2 Посмотреть сообщение
Аналогичная проблема(!),
Что значит аналогичная? Вам ясным языком сервер отвечает:
Incorrect username/password or rate limit exceeded or account blocked or protocol not enabled
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2016, 12:48
Помогаю со студенческими работами здесь

Ошибка при отправке e-mail (mailMessage), настройка SMTP
Мой первый сайт на ASP.NET на хостинге somee.com. Я делаю так, чтобы посетитель сайта мог отправить мне e-mail. В control panel хостинг...

Ошибка при отправке оповещений - SMTP connect() failed
Здравствуйте! Появилась следующая проблема: письмо с оповещением о новых комментариях - отправлялись (но правда 1 раз, на разные...

Ошибка при отправке почты!!!
Я тут написал прогу отправка почты, запускаю прогу, кликаю на Кнопку отправвить и тут есть ошибка ! Раньше это прога на XP работала,...

Ошибка при отправке почты
Здравствуйте. Подскажите пожалуйста, в чем проблема: Есть код на отправку писем с почты майла, на почту майла (mail.ru). VS не выдает...

Ошибка при отправке почты
Всем привет. Пишу приложение на ASP.NET Core. Использую MailKit для отправки почты. Проблема такова: невозможно подключиться к SMTP...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru