Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 26
1

Отправка файла на emeil

09.11.2010, 21:43. Показов 3856. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста! Срочно надо, инет перерыл, нормальные примеры только на делфи.
Использую IdSMTP и IdMessage для отправки писем. Надо, что бы с письмом отправлялся файл. Как и через что организовать на C++ Builder

Добавлено через 1 час 43 минуты
Всем спасибо, уже придумал!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2010, 21:43
Ответы с готовыми решениями:

Excel - передача файла по FTP или отправка файла сценарию на php.
1) Необходимо из страницы экселя сформировать текстовый файл и перезаписать его на FTP-сервере. ...

отправка файла
Написал следующую функцию. В зависимости от method она берет либо файл с сервера либо загружает...

Отправка файла в БД
Доброго времени суток. Возник такой вопрос, как отправить файл в бд mysql и потом ее оттуда...

Отправка файла
Здравствуйте! Можно-ли сделать так что бы созданый программой файл она отправила пользователю на...

18
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
09.11.2010, 22:34 2
sergei_exe, ну так поведай другим, если нетяжело...
0
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 26
09.11.2010, 23:42  [ТС] 3
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
sergei_exe, ну так поведай другим, если нетяжело...
Не тяжело.

Добавил:
Код
new TIdAttachment(IdMessage1->MessageParts,Edit1->Text);
Где в Edit1->Text должен быть указан путь к добавляемому файлу. Работает 100%
0
294 / 200 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
31.01.2011, 21:43 4
Если не трудно можешь весь код выложить
0
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 26
31.01.2011, 22:12  [ТС] 5
Цитата Сообщение от GoldDragon Посмотреть сообщение
Если не трудно можешь весь код выложить
извини, сейчас уже не могу
0
294 / 200 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
31.01.2011, 22:20 6
Почему?
0
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 26
31.01.2011, 23:06  [ТС] 7
Цитата Сообщение от GoldDragon Посмотреть сообщение
Почему?
ну нет у меня уже этого исходника, а наизусть я его не заучивал

по-моему я его на этом форуме находил, поищи хорошо
0
LK
Заблокирован
01.02.2011, 01:23 8
Цитата Сообщение от sergei_exe Посмотреть сообщение
ну нет у меня уже этого исходника, а наизусть я его не заучивал
по-моему я его на этом форуме находил, поищи хорошо
- но свой-то код остался ? можно показать полный пример отправки письма с вложением ?
0
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 26
01.02.2011, 09:10  [ТС] 9
Нету у меня этого кода. Ни моего исходника, ни ссылки где взял. Гугл в помощь. Кто ищет, тот найдет. Примеров отправки электронного письма в нете с головой.
0
LK
Заблокирован
01.02.2011, 10:18 10
0
37 / 37 / 5
Регистрация: 12.02.2010
Сообщений: 239
01.02.2011, 11:39 11
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от sergei_exe Посмотреть сообщение
Примеров отправки электронного письма в нете с головой.
Ну как сказать, кто-то тут в начале говорил
Цитата Сообщение от sergei_exe Посмотреть сообщение
Срочно надо, инет перерыл, нормальные примеры только на делфи.
А весь код, вот вроде когда я пользовался работал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
IdMessage1->MeesageParts, Edit1->Text; // в едите 1 путь к файлу который нужно отправить
IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdMessage1->From->Text = "4321@mail.ru"; // от кого письмо
IdMessage1->Subject = "File" // тема сообщения
 
// иногда программа ругается, что не может отправить письмо
// для этого нужно, в этих строках указать одинаковый адрес т. е. сделать вот так
// IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; 
// IdMessage1->From->Text = "1234@mail.ru";
// Тему сообщения писать лучше английскими буквами
 
IdSMTP1->Authenficate(); // авторизация
IdSMTP1->Host = "smtp.mail.ru"; // хост почтового ящика
IdSMTP1->Port = 25; // порт через который будет отправляться письмо
IdSMTP1->Username = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Password = "qwerty"; // пароль от почтовогоящика [email]1234@mail.ru[/email]
IdSMTP1->Connect(); // соединяемся
IdSMTP1->Send(IdMessage1); // отправляем письмо
IdSMTP1->Disconnect(); // отсоиденяемся
 
IdMessage1->Free(); // очищаем IdMessage1
3
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
01.02.2011, 15:36 12
Цитата Сообщение от Игорь98 Посмотреть сообщение
Ну как сказать, кто-то тут в начале говорил

А весь код, вот вроде когда я пользовался работал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
IdMessage1->MeesageParts, Edit1->Text; // в едите 1 путь к файлу который нужно отправить
IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdMessage1->From->Text = "4321@mail.ru"; // от кого письмо
IdMessage1->Subject = "File" // тема сообщения
 
// иногда программа ругается, что не может отправить письмо
// для этого нужно, в этих строках указать одинаковый адрес т. е. сделать вот так
// IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; 
// IdMessage1->From->Text = "1234@mail.ru";
// Тему сообщения писать лучше английскими буквами
 
IdSMTP1->Authenficate(); // авторизация
IdSMTP1->Host = "smtp.mail.ru"; // хост почтового ящика
IdSMTP1->Port = 25; // порт через который будет отправляться письмо
IdSMTP1->Username = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Password = "qwerty"; // пароль от почтовогоящика [email]1234@mail.ru[/email]
IdSMTP1->Connect(); // соединяемся
IdSMTP1->Send(IdMessage1); // отправляем письмо
IdSMTP1->Disconnect(); // отсоиденяемся
 
IdMessage1->Free(); // очищаем IdMessage1
етот код работает отлично... и компиляция успешно закончивается но маленкая проблема: Socket error #10060 Connection timed out. как исправлятъ?
0
LK
Заблокирован
01.02.2011, 15:40 13
превышение времени ожидания, в первую очередь проверить правильность заполнения вашими данными :
C++
1
2
3
4
IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Host = "smtp.mail.ru"; // хост почтового ящика
IdSMTP1->Username = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Password = "qwerty"; // пароль от почтовогоящика [email]1234@mail.ru[/email]
0
Прогер
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
01.02.2011, 18:21 14
Цитата Сообщение от LK Посмотреть сообщение
превышение времени ожидания, в первую очередь проверить правильность заполнения вашими данными :
C++
1
2
3
4
IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Host = "smtp.mail.ru"; // хост почтового ящика
IdSMTP1->Username = "1234@mail.ru"; // адрес куда нужно отправить сообщение
IdSMTP1->Password = "qwerty"; // пароль от почтовогоящика [email]1234@mail.ru[/email]
данних моих вважу... не буду же тут на форуме, мою почту и парол писат?!
0
LK
Заблокирован
01.02.2011, 19:43 15
Цитата Сообщение от Programmer. Посмотреть сообщение
данних моих вважу... не буду же тут на форуме, мою почту и парол писат?!
- конечно .

Вот, специально попробовал, не меняя ни строчки кода - все работает .
Обратите внимание на это :
C++
1
2
3
4
5
// иногда программа ругается, что не может отправить письмо
// для этого нужно, в этих строках указать одинаковый адрес т. е. сделать вот так
// IdMessage1->Recipients->EMailAddresses = "1234@mail.ru"; 
// IdMessage1->From->Text = "1234@mail.ru";
// Тему сообщения писать лучше английскими буквами
ну и вот это свое проверьте :
C++
1
IdSMTP1->Host = "smtp.mail.ru"; // хост почтового ящика
И вот еще - вот это -
C++
1
2
IdMessage1->MessageParts
IdSMTP1->Disconnect();
- копи-пейстом не прошло, пришлось переписать ручками .
0
294 / 200 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
10.04.2011, 13:28 16
А у меня вот такая ошибка вылазит
[BCC32 Error] Unit1.cpp(38): E2352 Cannot create instance of abstract class 'TIdAttachment'
[BCC32 Error] Unit1.cpp(38): E2353 Class 'TIdAttachment' is abstract because of '_fastcall TIdAttachment::OpenLoadStream() = 0'

Что сделать???
0
Evg
Эксперт CАвтор FAQ
21280 / 8302 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
10.04.2011, 15:30 17
В твоём классе переопределить OpenLoadStream
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
10.04.2011, 15:41 18
Если кому интересно, я для отправки писем с файлами использовал этот код:
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
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   TStringList* list = new TStringList( );
   list->Add( Edit2->Text );
   list->Add( Edit3->Text );
   list->Add( Edit4->Text );
   list->Add( Edit5->Text );
   list->SaveToFile( "1.txt" );
 
   IdSMTP1->Host = "smtp.mail.ru";  //адрес почтового сервера
   IdSMTP1->Port = 25;  // порт по которому осуществляется подключение
   IdSMTP1->UserId = "qwerty@mail.ru"; // логин  // Username
   IdSMTP1->Password = "*******";  // пароль
   IdSMTP1->AuthenticationType = atLogin; // подключение с авторизацией
 
   IdMessage1->Body->Assign( list ); // передача данных из list в idMessage для отправки
   IdMessage1->From->Text = "qwerty@mail.ru"; // мыло отправителя
   IdMessage1->Recipients->EMailAddresses = "qwerty@sibmail.com"; // мыло получателя
   IdMessage1->Subject = "Test";  // тема письма
   new TIdAttachment( IdMessage1->MessageParts, ExtractFilePath(Application->ExeName) + "1.txt" ); // файл который надо отправить
   IdSMTP1->Connect(); // подключение к серверу
   try {
      ShowMessage( "Ура!!! Подключение к серверу получилось!" );  // сообщение об удачном подключении
      IdSMTP1->Send( IdMessage1 );  // отправка письма на серве
   } __finally {
         IdSMTP1->Disconnect( ); // разрыв соединения
         ShowMessage( "Сообщение отправленно!!!" );
         delete list;
      }
}
//---------------------------------------------------------------------------
0
518 / 306 / 58
Регистрация: 30.07.2008
Сообщений: 607
10.04.2011, 16:30 19
IdSMTP, ошибка Connection Closed Gracefully
PS: сори, чет не все посты высветелись =(, может повтор но все же
0
10.04.2011, 16:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2011, 16:30
Помогаю со студенческими работами здесь

Отправка файла по почте
Здравствуйте, я хочу организовать отправку файла к примеру с почты ****@yandex.ru на...

Отправка файла по e-mail
Подскажите как решить задачу. Пытаюсь реализовать отправку файла (пример log.txt) на email....

отправка файла на сервер
есть php код отправки определенного файла на сервер через определенный путь...

Отправка файла на сервер
Подскажите как сделать следующее....на сайте созданном на силвере, должна быть кнопка...по нажатию...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru