Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ICS. Отправка письма


Kirill ©   (2009-01-29 14:52:00) 

Помогите, пожалуйста. Пытаюсь отправить письмо, но получатель его не может прочитать.

var msgtext : string;
begin
 csmtp.Port := 'smtp';
 csmtp.AuthType := smtpAuthLogin;
 csmtp.RcptName.Clear;
 csmtp.HdrSubject := AnsiToUnicode('Тест');
 csmtp.CharSet := 'UTF-8';
 csmtp.CodePage := 65001;
 csmtp.HdrPriority := smtpPriorityHighest;
 csmtp.DefaultEncoding := smtpEncBase64;
 csmtp.ContentType := smtpPlainText;
 msgtext := AnsiToUnicode('Тестовое письмо с помошью ICS '#13#10'This test message with ICS');
 csmtp.MailMessage.Add(msgtext);

 csmtp.Host := '127.0.0.1';
 csmtp.Username := 'robot';
 csmtp.Password := 'robot';
 csmtp.RcptNameAdd('Root <root@localhost>','','');
 csmtp.FromName := 'Robot <robot@localhost>';
 //csmtp.HdrCc := 'Admin <admin@localhost>';
 csmtp.HdrTo := 'Root <root@localhost>';

 csmtp.HdrFrom := csmtp.FromName;
 csmtp.ConnectSync;
 csmtp.EhloSync;
 csmtp.AuthSync;
 csmtp.VrfySync;
 csmtp.MailSync;
 csmtp.QuitSync;
end;


Received: from [127.0.0.1] by master
 (ArGoSoft Mail Server Plus for WinNT/2000, Version 1.8 (1.8.8.3)); Thu, 29 Jan 2009 13:41:02 +0200
From: Robot <robot@localhost>
To: Root <root@localhost>
Subject: РўРчС_С'
Sender: Robot <robot@localhost>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Date: Thu, 29 Jan 2009 13:41:02 +0200
X-Priority: 1
Priority: urgent
X-MSMail-Priority: High
Message-ID: <20090129114102140.76C82E250E3922A2@master>
X-Mailer: ICS SMTP Component V6.18

0KLQtdGB0YLQvtCy0L7QtSDQv9C40YHRjNC80L4g0YEg0L/QvtC80L7RiNGM0Y4gSUNTIA0KVGhp
cyB0ZXN0IG1lc3NhZ2Ugd2l0aCBJQ1MNCg==

Заголовок нормально выглядит, а текст не декодируется.
Как правильно закодировать текст, чтобы он нормально декодировался?


Kirill   (2009-01-29 17:36:00) [1]


> Почему это "msgtext := AnsiToUnicode", когда у тебя utf-8

Потому что я текст ввел в Ansi. Или CG2009 уже Unicode?
В любом случае ни с функцией, ни без - прочитать не смог пока не сделал 8битовый заголовок


Anatoly Podgoretsky   (2009-01-29 16:05:00) [2]

> Kirill  (29.01.2009 14:52:00)  [0]

Почему это "msgtext := AnsiToUnicode", когда у тебя utf-8


Kirill   (2009-01-29 15:12:00) [3]

Сделал так... Заработало... Хотелось бы с другими режимами кодировки.
var msgtext : string;
begin
 csmtp.Port := 'smtp';
 csmtp.AuthType := smtpAuthLogin;
 csmtp.RcptName.Clear;
 csmtp.HdrSubject := AnsiToUnicode('Тест');
 csmtp.CharSet := 'UTF-8';
 csmtp.CodePage := 65001;
 csmtp.HdrPriority := smtpPriorityHighest;
 csmtp.DefaultEncoding := smtpEnc8bit;
 csmtp.ContentType := smtpPlainText;
 msgtext := AnsiToUnicode('Тестовое письмо с помошью ICS '#13#10'This test message with ICS');
 csmtp.MailMessage.Add(msgtext);

 csmtp.Host := '127.0.0.1';
 csmtp.Username := 'robot';
 csmtp.Password := 'robot';
 csmtp.RcptNameAdd('Root <root@localhost>','','');
 csmtp.FromName := 'Robot <robot@localhost>';
 csmtp.HdrTo := 'Root <root@localhost>';

 csmtp.HdrFrom := csmtp.FromName;
 csmtp.ConnectSync;
 csmtp.EhloSync;
 csmtp.AuthSync;
 csmtp.VrfySync;
 csmtp.MailSync;
 csmtp.QuitSync;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо