Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/111: Рейтинг темы: голосов - 111, средняя оценка - 4.77
 Аватар для Fermion
17 / 17 / 3
Регистрация: 05.10.2009
Сообщений: 172

Отправка E-mail

05.10.2009, 19:16. Показов 23021. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сразу скажу, что я полный ламер. Перерыв весь интернет понял, что сам я эту задачу никогда не решу. Есть куча примеров на Delphi и только один (не работающий) на C++ Builder. Если бы делал "для себя" сделал бы на Delphi и не парился, но мне ставят условие: обязательно на C++ Builder.

В общем задача простая... надо отправить письмо из программы.
Есть вот такой код:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  IdMessage1->Body->Assign(Memo1->Lines);
  IdMessage1->From->Text = "F-ermion@mail.ru";
  IdMessage1->Subject  = "Testik subj";
  IdMessage1->Recipients->EMailAddresses = "F-ermion@yandex.ru";
  IdMessage1->Priority = TIdMessagePriority(mpHighest);
  IdMessage1->CCList->EMailAddresses = "F-ermion@yandex.ru";
 IdSMTP1->Host = "smtp.mail.ru";
 IdSMTP1->UserId = "F-ermion";
 IdSMTP1->Password = "******";
 IdSMTP1->Port = 25;
 IdSMTP1->MailAgent = "Test TidSMTP";
 IdSMTP1->AuthenticationType = atLogin;
}
компилятор на него не ругается... но при этом ничего никуда не оправляет. Кто подскажет, что тут не так?

И ещё... как можно отследить процесс... то есть как можно отслеживать ответы сервера, чтобы понимать на каком этапе происходит проблема.
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2009, 19:16
Ответы с готовыми решениями:

Отправка на E-mail
есть вот такая штука std::auto_ptr-TStringList-ALL(new TStringList) её надо отправить на почту при нажатии кнопки.

Отправка почты на mail.ru
Здравствуйте!!! Ребята, подскажите, по такому вопросу. Знаю, что тема уже избита вдоль и в поперёк, но есть проблемы. Пытаюсь программно...

Отправка сообщений на e-mail
Здравствуйте! Мне необходимо отправить сообщение на почту. Нашел пример с компонентами IdSMTP1 и IdMessage1. Пример довольно короткий, но...

47
Волшебник
 Аватар для Rapsod
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
25.05.2012, 13:00
Студворк — интернет-сервис помощи студентам
Поднимаю снова вопрос об отправки письма на E-mail.
Кто нибудь знает как прикрепить файл к письму?
Вижу что LK уже с чем-то подобным связывался (TIdAttachmentFile)
Если вы знаете как это осуществить, помогите.

Заранее благодарю за помощь!
0
 Аватар для GreyWolf
6 / 6 / 1
Регистрация: 27.11.2009
Сообщений: 41
20.07.2016, 07:05
Рабочий код на отправку e-mail через маил.ру с использованием шифрования TLS (на июль 2016 работает).
Собран с разных тем, авторам спасибо, возможно какие-то строки лишние.
ПОЛУЧАТЕЛЬ, ЗАГОЛОВОК, МОЙ_ЯЩИК, ПАРОЛЬ естественно меняем на свои:
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
void send_msg (void)
{
    ip_text();
    Form1->IdMessage1->Body->Assign(Form1->Memo1->Lines);//тут мы берем текст из Memo
    Form1->IdMessage1->From->Text = "МОЙ_ЯЩИК@bk.ru";//от кого письмо (если сервер не проверяет, можно левый адрес)
    Form1->IdMessage1->Subject = "ЗАГОЛОВОК";//Заголовок письма
    Form1->IdMessage1->Recipients->EMailAddresses = "ПОЛУЧАТЕЛЬ@gmail.com";//Адрес получателя
//  IdMessage1->Priority = TIdMessagePriority(mpHighest);// приоритет письма... если разремить - будет высоким
//  IdMessage1->CCList->EMailAddresses = "КОПИЯ@yandex.ru";//Копия письма (если надо)
 
    Form1->IdSMTP1->Host = "smtp.mail.ru";//адрес СМТП сервака
    Form1->IdSMTP1->Username = "МОЙ_ЯЩИК@bk.ru";//Логин
    Form1->IdSMTP1->Password = "ПАРОЛЬ";//Пароль
    Form1->IdSMTP1->Port = 465;// порт SSL
    Form1->IdSMTP1->AuthType = satDefault;//с авторизацией
 
    Form1->IdSSLIOHandlerSocketOpenSSL1->MaxLineAction = maException;
    Form1->IdSSLIOHandlerSocketOpenSSL1->Destination = Form1->IdSMTP1->Host+":"+IntToStr(Form1->IdSMTP1->Port);
    Form1->IdSSLIOHandlerSocketOpenSSL1->Host = Form1->IdSMTP1->Host;
    Form1->IdSSLIOHandlerSocketOpenSSL1->Port = Form1->IdSMTP1->Port;
    Form1->IdSSLIOHandlerSocketOpenSSL1->DefaultPort=0;
    Form1->IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method=sslvTLSv1;
    Form1->IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Mode=sslmUnassigned;
    Form1->IdSSLIOHandlerSocketOpenSSL1->SSLOptions->VerifyDepth = 0;
 
    Form1->IdSMTP1->IOHandler=Form1->IdSSLIOHandlerSocketOpenSSL1;
    Form1->IdSMTP1->UseTLS=utUseExplicitTLS;
 
    try //дальше собственно отправка и обработка кое каких исключений
    {
        try
        {
            if (Form1->IdSMTP1->Connected())
                Form1->IdSMTP1->Disconnect();
            Form1->IdSMTP1->ReadTimeout = 15000;
            Form1->IdSMTP1->Connect();
            Form1->IdSMTP1->Send(Form1->IdMessage1);
        }
        catch (Exception &exception)
        {
            Form1->IdSMTP1->Disconnect();
            MessageDlg("Application, may not connected", mtError, TMsgDlgButtons() << mbYes, 0);
            Abort;
        }
        // My Code Here
    }
    catch (Exception &exception)
    {
        Application->ShowException(&exception);
        Form1->IdSMTP1->Disconnect();
    }
    return;
}
2
3 / 2 / 2
Регистрация: 22.12.2016
Сообщений: 219
25.04.2018, 17:03
Нету ниукого свежей реализации для билддера 6-го?
0
0 / 0 / 0
Регистрация: 27.12.2018
Сообщений: 14
13.09.2019, 17:38
Здравствуйте, что то не получается с отправкой, выдает сообщение Application, may not connected. Пытаюсь с Gmail отправлять, может что то нужно добавить в код?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
13.09.2019, 18:29
KillerBeattle, файлы libeay32.dll и ssleay32.dll рядом с EXE-шником лежат? Если нет - то скачай отсюда версию для своей ОС и положи эти два файла рядом с EXE твоего приложения.
1
0 / 0 / 0
Регистрация: 27.12.2018
Сообщений: 14
16.09.2019, 16:17
не помогает на RAD 10.3, пишет что не может подключится к ssl library. Может кто знает как правильно написать код, я уже не понимаю что к чему, много форумов прочитал и ничего. Помогите если кто сталкивался с данной проблемой. Если поможет, версия Indy 10.0
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
16.09.2019, 17:34
Да при чем тут код-то? Проблема в том, что почтовые сервера слишком умные стали, то им не нравится, что приложение написано с использованием Indy и надо менять юзерагент, то они без предупреждения меняют способ шифрования и порт, то еще что-нибудь. Поэтому тебе самому придется писать и отлаживать код, чтобы он хотя бы сейчас запустился у тебя с твоим сервером. И нет никакой гарантии, что код, работающий сейчас, заработает через два часа, а уж через два месяца (а тем более - через 2 года) - вероятность практически нулевая.
0
0 / 0 / 0
Регистрация: 27.12.2018
Сообщений: 14
16.09.2019, 18:47
Понял, печально конечно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2019, 18:47

Отправка множества сообщений на mail.ru
Посылатор сообщений через мыло. В идеале - программа должны отправлять несколько писем подряд Что есть Код логина.(логинов несколько,...

Отправка на E-mail сообщения с прикрепленным файлом
Для отправки простого письма на E-mail используйте ниже приведенный код На форму нужно бросить: IdSMTP1 и Memo1. Код можно вставить...

Отправка через SMTP писем с mail.ru на yandex.ru
Всем доброго времени суток. На этот раз проблема состоит в следующем: нужно отправить сообщение с ящика mail.ru на ящик yandex.ru и на...

Отправка письма на mail.ru через PHP mail()
Добрый день! Перелопатил много чего. Подскажите как все-таки отправить письмо на мэил.ру при помощи маил()? Может какие-то особенные...

Отправка e-mail
Всем привет, у меня есть вопрос, как с помощью c++ отправлять e-mail сообщения, возможно-ли это сделать библиотекой 'winsock'? Просьба...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru