Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
#1

Отправка письма с вложением - C++ Builder

02.12.2014, 15:36. Просмотров 948. Ответов 3
Метки нет (Все метки)

Всем привет!
Собрал из кусков код для отправки письма через mail с вложением файла. Текст письма на русском все ок.
Письмо отправляется файл крепится, но есть два вопроса.
1) Как сделать так, чтобы заголовок письма был на русском, а то заголовок письма ????????????
http://www.cyberforum.ru/cpp-builder/thread2220645.html
2) Как сделать ProgressBar, чтобы было видно, что файл крепится, письмо отправляется
Вот код программы
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
AnsiString subj="текст моего письма";
    AnsiString sFile;
    IdSSLIOHandlerSocketOpenSSL1->MaxLineAction = maException;
        IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Method = sslvTLSv1;
        IdSSLIOHandlerSocketOpenSSL1->SSLOptions->Mode = sslmUnassigned;
        IdSSLIOHandlerSocketOpenSSL1->SSLOptions->VerifyDepth = 0;
 
    IdSMTP1->IOHandler = IdSSLIOHandlerSocketOpenSSL1;
    IdSMTP1->Host = "smtp.mail.ru";
    IdSMTP1->Port = 587;
    IdSMTP1->Username = "test@mail.ru";
    IdSMTP1->Password = "123";
    IdSMTP1->UseTLS = utUseExplicitTLS;
    IdSMTP1->ReadTimeout = 15000;
    IdSMTP1->Connect();
    if(IdSMTP1->Connected() == true)
    {
        ShowMessage("We have connect");
        TIdMessage *IdMessage1 = new TIdMessage();
        IdMessage1->Clear();
        IdMessage1->CharSet="Windows-1251";
        IdMessage1->From->Address = "test@mail.ru";
        IdMessage1->Recipients->EMailAddresses = "test2@gmail.com";
        IdMessage1->Subject = "заголовок письма весь в кракозябрах";
        IdMessage1->Body->Text = "Проверка связи это мое новое письмо отправлено с помощью программы";
               
                 //---------блок для прикрепления файла-----------------
 
        TIdAttachment *pAttachment;
        sFile = "D:\\1.jpg";
        pAttachment = new TIdAttachmentFile(IdMessage1->MessageParts,sFile);
        //---------------------------------------------------
        
                IdSMTP1->Send(IdMessage1);
        delete IdMessage1;
        delete IdSSLIOHandlerSocketOpenSSL1;
        IdSMTP1->Disconnect();
    }
    else ShowMessage("Dont have connect");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2014, 15:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Отправка письма с вложением (C++ Builder):

Отправка письма
Здравствуйте! Вот порылся на форуме, по поводу отправки письма на почтовый...

Отправка письма или IdSMTP1
Здраствуйте, я начинающий и у меня возникла проблемма Я хочю сделать программу...

Отправка письма через почтовый клиент
Доброе утро, товарищи. Назрел тут один вопрос. Требуется отправить письмо...

Отправка письма в HTML в кодировке UTF-8
Уважаемые форумчане! Как мне отправить письмо в HTML в кодировке UTF-8...

Отправка письма, "Email sending without ssl/tls encryption is not allowed"
Использую C++ Builder 6. Выдает ошибку: Email sending without ssl/tls...

3
leva
10 / 10 / 9
Регистрация: 12.04.2012
Сообщений: 248
02.12.2014, 23:34 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 UnicodeString __fastcall WinToWin1251Q(UnicodeString Str){
UnicodeString strTo;
strTo.sprintf(L"=?windows-1251?Q?");
AnsiString sss = Str;
for(int i=1; i<=sss.Length(); i++) {
byte a = sss[i];
if (a == ' ') a = '_';
strTo.cat_printf((a<128) ? L"%c" : L"=%.2X", a);
}
strTo.cat_printf(L"?=");
return strTo;
}
 
IdMessage1->ExtraHeaders->Add("Subject:"+WinToWin1251Q("заголовок письма"));
1
kelabod
83 / 10 / 7
Регистрация: 10.02.2012
Сообщений: 220
Записей в блоге: 3
03.12.2014, 08:13  [ТС] #3
ок спс. Сегодня попробую
0
Avazart
Эксперт С++
7674 / 5583 / 541
Регистрация: 10.12.2010
Сообщений: 25,046
Записей в блоге: 17
05.12.2014, 16:55 #4
http://avazart.zz.mu/2014/10/tidsmtp...ormat=standard
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2014, 16:55
Привет! Вот еще темы с решениями:

получение письма
как принять письмо с помощью протокола pop3!!!

принимать письма c++ билдер
я знаю как с помощью smtp и message отправлять письма !!! А как переделать код...

Вывод тела письма в RichEdit
При клике на listbox, должно выводиться тело сообщения в RichEdit, но он...

Imap4 не ищет письма mail.ru
Здравствуйте. Хочу сделать поиск в почтовом агенте. Для этого написал такой...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru