![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;