Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.06.2009, 17:15
EraM EraM вне форума
Прохожий
 
Регистрация: 24.05.2009
Сообщения: 8
Репутация: 10
По умолчанию Delphi 2009 и отправка почты

Доброго времени суток!

Этот вопрос уже обсуждался не раз:

http://www.delphisources.ru/forum/sh...E8%F1%FC%EC%E0

http://www.delphisources.ru/forum/sh...E8%F1%FC%EC%E0

http://www.delphisources.ru/forum/sh...highlight=smtp

но ответа я так и не нашёл.

Пытаюсь сам отправить письмо вот код:


Код:
frmMain.idSMTP.Host := frmMain.txtSMTPServer.Text;
    frmMain.idSMTP.Port := 2525;
    frmMain.idSMTP.Username := frmMain.txtLogin.Text;
    frmMain.idSMTP.Password := frmMain.txtPassword.Text;
    //frmMain.idSMTP.AuthType := atDefault;

    MMessage := TIdMessage.Create;
    MMessage.CharSet := 'Windows-1251';
    MMessage.ContentType := 'text/plain; charset="windows-1251';
    MMessage.From.Address := 'pochta@mail.ru';
    MMessage.Recipients.EMailAddresses := frmMain.txtWho.Text;
    MMessage.Subject := frmMain.txtSubject.Text;
    MMessage.Body.Text :=  frmMain.memText.Text;

    //отправка
    try
    frmMain.idSMTP.Connect;
    //rmMain.idSMTP.IOHandler.DefStringEncoding := enANSI;
    frmMain.idSMTP.Send(MMessage);
    if frmMain.idSMTP.Connected then frmMain.idSMTP.Disconnect;
          Application.MessageBox('Письмо отправлено', 'Сообщение', 0);
    except
      Application.MessageBox('Ошибка отправки', 'Сообщение', 0);
      frmMain.idSMTP.Disconnect;
    end;

письмо уходит и приходит без проблем, но кириллица в теме и в теле письма знаками вопросов.

Так как это можно поправить? Если нельзя, то кто как отправляет письма из delphi 2009?
Ответить с цитированием
  #2  
Старый 24.06.2009, 19:08
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,093
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Попробуй перед тем, как запихивать текст в соответсвующие свойства, конвертнуть его в AnsiString в нужной кодировке.
Ответить с цитированием
  #3  
Старый 25.06.2009, 09:53
EraM EraM вне форума
Прохожий
 
Регистрация: 24.05.2009
Сообщения: 8
Репутация: 10
По умолчанию

Это как?

Так:

Код:
type
  // Кодовая страница для ANSI-кириллицы - 1251
  CyrillicString = type Ansistring(1251);

var t:  CyrillicString;
...
...
...
t:= 'тема';
MMessage.Subject := t;

Последний раз редактировалось EraM, 26.06.2009 в 09:29.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025