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

Отправка E-mail

05.10.2009, 19:16. Показов 22489. Ответов 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
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
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
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru