Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/48: Рейтинг темы: голосов - 48, средняя оценка - 4.73
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577

Отправка сообщений на почту

07.04.2015, 07:12. Показов 10422. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Была поставлена задача написать программу, которая будет отправлять на почту сообщения и файлы. Облазил много форумов, нашел более менее "простенький" пример [cut], но он не работает.

Можете подкинуть примеры, исходники и т.п, прошу сильно не ругать с таким встретился впервые.

Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2015, 07:12
Ответы с готовыми решениями:

Отправка сообщений
Вот написал программу для отправки сообщений на электронную почту, все работает но русские буквы не передаются они заменяются вопросами...

Сохранение и отправка через почту файла
Помогите, (я не студент)! По идеи программа сохраняет в файл содержимое edit1 и 2 и отправляет по почте. Вот что - когда я пишу этот...

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

27
 Аватар для AlexDorkus
-1 / 0 / 10
Регистрация: 05.04.2015
Сообщений: 80
07.04.2015, 07:29
Вот, нашел пошаговую инструкцию , зайдите почитайте, материалы на английском языке, ибо на русском вряд ли вы найдете что-то достойное
Очень надеюсь что чем-то вам помог .
Если возникнут еще вопросы пишите
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
07.04.2015, 21:35  [ТС]
Нашел пример программы http://www.youtube.com/watch?v=Wa-lNd82X8Y

Пишу на Embarcadero Rad Studio XE2.
Из данного видео все проработал, но сообщения не отправляются (скорей всего я запутался в портах).

Проект программы тут:
Почта.rar

Помогите разобраться)))
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
08.04.2015, 00:41
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    IdSMTP1->Host=Edit1->Text;
    IdSMTP1->Port = 465;
    IdSMTP1->Username=Edit2->Text;
    IdSMTP1->Password=Edit3->Text;
 
    IdSSLIOHandlerSocketOpenSSL1->Destination = IdSMTP1->Host+":"+IntToStr(IdSMTP1->Port);
    IdSSLIOHandlerSocketOpenSSL1->Host = IdSMTP1->Host;
    IdSSLIOHandlerSocketOpenSSL1->Port = IdSMTP1->Port;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method = sslvSSLv3;
 
    IdSMTP1->IOHandler = IdSSLIOHandlerSocketOpenSSL1;
    IdSMTP1->UseTLS = utUseImplicitTLS;
 
    IdMessage1->Clear();
    IdMessage1->From->Text = IdSMTP1->Username;
    IdMessage1->Recipients->EMailAddresses=Edit4->Text;
    IdMessage1->Subject=Edit5->Text;
    IdMessage1->Body->Text=Memo1->Text;
 
    TIdMessageBuilderPlain* MyMessage = new TIdMessageBuilderPlain();
    if (ListBox1->Items->Count>0)
    {
      for(int i=0; ListBox1->Items->Count; i++)
      MyMessage->Attachments->Add(ListBox1->Items->Strings[i]);
      MyMessage->PlainText->Text=Memo1->Text;
      MyMessage->FillMessage(IdMessage1);
    }
    try
    {
        IdSMTP1->Connect();
        IdSMTP1->Send(IdMessage1);
    }
    catch (...)
    {
        ShowMessage("error...");
    }
 
    IdSMTP1->Disconnect();
    delete MyMessage;
}
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
08.04.2015, 09:24  [ТС]
_Dimon_, не работает(((
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
08.04.2015, 09:31  [ТС]
приложение запускается, но вылетает:
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
08.04.2015, 11:32  [ТС]
Нашел ошибку, оказывается в логине надо было дописать "@mail.ru"
Сообщения приходят, но вместо слов вопросы
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
08.04.2015, 12:06
Кодировку ставьте.
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
08.04.2015, 12:22  [ТС]
Почтальен, 5+

Добавлено через 14 минут
Разобрался)))
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2015, 14:11
TIdMessageBuilderPlain откуда? Какая версия IDE / Indy?
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
08.04.2015, 15:06  [ТС]
Я выкладывал видеоурок, в котором говорится, что откуда берется.)))
C++
1
#include <IdMessageBuilder.hpp>
0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 2
10.04.2015, 00:11
Within_t, разобрался так помогай)
У меня программа виснет на SMTP:Connected после чего выдает ошибку, уже не знаю куда и копать..
Порт, хост, логин, пароль вроде все верно. В чем может быть проблема?
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
10.04.2015, 14:51  [ТС]
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Andrye, Сбросьте все визуальные настройки на форме (idmessage, idsmtp, IdSSLIOHandlerSocketOpenSSL) если таковые имеются.
Добавьте библиотеку:
C++
1
#include <IdMessageBuilder.hpp>
Обращаю внимание если у Вас почта не mail.ru, то идентификатор порта не 465 (надо смотреть)
Код отправки сообщения + файлы (если нужно):
Обратите внимание на комментарии:
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    IdSMTP1->Host=Edit1->Text;  //хост  (smtp.mail.ru)
    IdSMTP1->Port=465;//
    IdSMTP1->Username = Edit2->Text; //логин (типа: [email]smit@mail.ru[/email] )
    IdSMTP1->Password=Edit3->Text;//пароль   (qwerty)
 
    IdSSLIOHandlerSocketOpenSSL1->Destination=IdSMTP1->Host+":"+IntToStr(IdSMTP1->Port);
    IdSSLIOHandlerSocketOpenSSL1->Host=IdSMTP1->Host;
    IdSSLIOHandlerSocketOpenSSL1->Port=IdSMTP1->Port;
    IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method=sslvSSLv3;
    IdSMTP1->IOHandler=IdSSLIOHandlerSocketOpenSSL1;
    IdSMTP1->UseTLS=utUseImplicitTLS;
 
    IdMessage1->Clear();
    IdMessage1->ContentTransferEncoding="base64";
    IdMessage1->Encoding=mePlainText;
    IdMessage1->From->Text=IdSMTP1->Username;// логин
    IdMessage1->Recipients->EMailAddresses=Edit4->Text; //кому
    IdMessage1->Subject=Edit5->Text; //тема сообщения
    IdMessage1->Body->Text=Memo1->Text; //сам текст Вашего сообщения
    IdMessage1->Date = Now();//системная дата отправки
 
    TIdMessageBuilderPlain* MyMessage = new TIdMessageBuilderPlain();
    for(int i=0; i<ListBox1->Items->Count; i++)
        if (FileExists(ListBox1->Items->Strings[i]))
            MyMessage->Attachments->Add(ListBox1->Items->Strings[i]);
    MyMessage->PlainTextCharSet = "windows-1251";
    MyMessage->PlainText->Text=Memo1->Text;
    MyMessage->FillMessage(IdMessage1);
                                   //windows-1251
    try
    {
        IdSMTP1->Connect();
        if (IdMessage1->MessageParts->Count)
        {
            IdMessage1->ContentType = "multipart/mixed";
            IdMessage1->Encoding = meMIME;
        }
        IdMessage1->CharSet = "windows-1251";
        IdMessage1->ContentTransferEncoding = "8BITMIME";
        IdSMTP1->Send(IdMessage1);
    }
    catch (...)
    {
        String a = "Ошибка отправления!!!";
        Application->MessageBox(a.c_str(), L"Сообщение", MB_ICONINFORMATION | MB_OK);
    }
 
    IdSMTP1->Disconnect(true);
    delete MyMessage;
}
Если что пищите)))

Добавлено через 9 часов 8 минут
Цитата Сообщение от Within_t Посмотреть сообщение
Если что пищите)))
Ой.....))))
Ток сейчас заметил))) Извините.

Если что пишите.
0
10.04.2015, 14:54

Не по теме:

Within_t, а ведь и запищат :D

0
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 2
11.04.2015, 00:31
Within_t, Ура! Заработало! Спасибо огромное я в этом деле новичок, поэтому не спеша буду с кодировкой разбираться
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
27.04.2015, 18:53  [ТС]
Добрый вечер, народ!

Сори что поднял тему))) не хотел в новой теме воду лить

13 посте я все прописал как что делал, буквально вчера все отправлялось, но сегодня вылетает "Ошибка отправления".

День просидел не знаю, в чем дело)))
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.04.2015, 18:58
Смотри мой блог, там есть отлов исключений Indy, а не это что у тебя.
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
27.04.2015, 18:58  [ТС]
Самое интересное, что могу отправлять сообщение только на ящик, с которого отправляю)))
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.04.2015, 18:59
Цитата Сообщение от Within_t Посмотреть сообщение
"Ошибка отправления".
День просидел не знаю, в чем дело)))
Поробуй заменить
C++
1
String a = "Ошибка отправления!!!";
на
C++
1
String a = "Все супер!!!";


Смотри мой блог, там есть отлов исключений Indy, а не это что у тебя.
0
 Аватар для Within_t
34 / 21 / 11
Регистрация: 20.10.2013
Сообщений: 577
27.04.2015, 19:01  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
<цензура>
тем не менее она работала, я понимаю если бы было на оборот)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2015, 19:01
Помогаю со студенческими работами здесь

HWND и отправка им сообщений.
Здравствуйте, я начал изучать язык C++. А также начал обучение для работы с C++ Borland 6. Неддавно покопался в нете и почитал о HWND....

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

Отправка сообщений окнам: использование функции FindWindow()
я создаю копии приложения с разными именами, и мне надо каждому отправлять пользовательские сообщения, как мне находить эти окна через...

Отправка сообщений на Email из Code Gear RAD studio 2007 C++ Builder
Здравствуйте, возникла необходимость в отправке на email сообщения с 3 мя вложенными изображениями. порывшись по форуму нашёл массу...

Отправка сообщений на почту
Люди я написал программу чтобы отправлять сообщения на почту ))) но она почему то не работает, помогите плиз, скажите в чем проблема... ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru