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

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

Подскажите как отправить письмо используя сокеты? [D7, WinXP]


Страницы:   1 2 3

Lamer666 ©   (2008-09-07 13:11:00) 

Подскажите как отправить письмо используя сокеты?
Задача стоит так, с локального компьютера хочу отправлять письма, но не используя SMTP Сервера.


Dennis I. Komarov   (2010-09-27 10:30:00) [1]


> И SMTP руками реализовывать, да. Получится, вне сомнения,
>  проще, быстрее, дешевле и надёжнее.
>
> А ещё хорошо картошку самому сажать, и сапоги себе шить.
>  Из шкуры собственноручно забитой свиньи.

Ну, как получится я не знаю, но кому что...
Да, и аналогия не очень :)


DiamondShark   (2010-09-24 11:10:00) [2]


> Dennis I. Komarov ©   (02.09.10 17:07) [44]
> Юзайте TCPClient и никаких претензий. Там все только от
> вас зависит :)

И SMTP руками реализовывать, да. Получится, вне сомнения, проще, быстрее, дешевле и надёжнее.

А ещё хорошо картошку самому сажать, и сапоги себе шить. Из шкуры собственноручно забитой свиньи.


DiamondShark   (2010-09-24 11:07:00) [3]


> grisme ©   (26.08.10 08:42) [42]

Не путайте "белый"/"зелёный" и динамический/статический.

Строго говоря, термина "белый" нет вообще.


Dennis I. Komarov   (2010-09-02 17:07:00) [4]

Юзайте TCPClient и никаких претензий. Там все только от вас зависит :)


Anatoly Podgoretsky   (2010-08-26 19:07:00) [5]

> grisme  (26.08.2010 08:42:42)  [42]

При любой отправки в Интернет есть "белый" адрес, иначе работа с Интернет
невозможна.


grisme   (2010-08-26 08:42:00) [6]

Хм. наличие "белого" IP-адреса вовсе и не обязательно. (:
удавалось поднять сервак на дин.IP с no-ip.доменом, письма вполне так доставлялись. yandex принимал письма с сервака. и только, по-моему, mail.ru отказал в передаче из-за динамического адреса.


Anatoly Podgoretsky   (2010-08-23 19:39:00) [7]

> Сергей М.  (23.08.2010 16:53:40)  [40]

Вообще то она даже не копия.


Сергей М.   (2010-08-23 16:53:00) [8]


> как можно отправить копю собщении ?


Точно так же ка и оригинал.
На то она и копия, что от оригинала ничем не отличается.


Данияр   (2010-08-21 23:48:00) [9]

Здраствуйте , я новичок и хотел спросить , как можно отправить копю собщении ? Я исползую компоненты smtp и id message из Indy


Сергей М.   (2009-08-28 15:40:00) [10]


> пробовал и ничего не получилось


Значит не то или не так пробовал, оттого и не получилось


> письма кстати приходят иногда в папку "Входящие", а иногда
> в сомнительные "Сомнительные"


Значит они заведомо не одинаковые


belousov   (2009-08-28 14:12:00) [11]


> Отправляй в кодировке KOI8-R или Win1251, тогда проблем
> не будет.


Да пробовал и ничего не получилось... может с опытом придет)

...и письма кстати приходят иногда в папку "Входящие", а иногда в сомнительные "Сомнительные" несмотря на то что и заголовок и тело у них одинаковые!


Сергей М.   (2009-08-28 13:37:00) [12]


> когда захожу в почтовый ящик через сайт mail.ru


Отправляй в кодировке KOI8-R или Win1251, тогда проблем не будет.


> 403 You have exceeded message sending limit, and i will
> not accept any messages from you within 1 minute


Поятно.
mail.ru smtp-сервер справедливо подозревает тебя в распространении спама)


belousov   (2009-08-28 13:20:00) [13]


> Пока ты не забрал почту из "ящика", рассуждать про "отображается
> коряво" бессмысленно .
> Вот я и спрашиваю, где ты наблюдаешь "корявость", в каком
> почтовом клиенте ? В самодельном ?


Нет, когда захожу в почтовый ящик через сайт mail.ru


> Вот и я не понял, где ты посмотрел про таймаут в 1 минуту)


Сделал лог отправки письма:

procedure TMainForm.SmtpRequestDone(Sender: TObject; RqType: TSmtpRequest;
 ErrorCode: Word);
var s: string;
begin
case RqType of
 smtpConnect: Log.Add('connect');
 smtpHelo: Log.Add('helo');
 smtpMailFrom: Log.Add('mailfrom');
 smtpVrfy: Log.Add('vrfy');
 smtpRcptTo: Log.Add('rcptto');
 smtpData: Log.Add('data');
 smtpQuit: Log.Add('quit');
 smtpRset: Log.Add('rset');
 smtpOpen: Log.Add('open');
 smtpMail: Log.Add('mail');
 smtpEhlo: Log.Add('ehlo');
 smtpAuth: Log.Add('auth');
 smtpCustom: Log.Add('custom');
end;
s := inttostr(ErrorCode);
Log.Add(s);
Log.SaveToFile('log.txt');
end;

и

procedure TMainForm.SmtpResponse(Sender: TObject; Msg: string);
begin
Log.Add(Msg);
Log.SaveToFile('log.txt');
end;

Вот что получилось в логе:

....
220 mail.ru ESMTP Fri, 28 Aug 2009 13:19:28 +0400
250-mx38.mail.ru Hello smtp.mail.ru [80.240.220.103]
250-SIZE 31457280
250-8BITMIME
250-AUTH PLAIN LOGIN
250 PIPELINING
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 Authentication succeeded
open
0
250 OK
250 Accepted
403 You have exceeded message sending limit, and i will not accept any messages from you within 1 minute
500 unrecognized command
mail
500
500 unrecognized command
500 unrecognized command
500 Too many unrecognized commands
quit
0
....


Сергей М.   (2009-08-27 16:45:00) [14]


> не понял)
>


Вот и я не понял, где ты посмотрел про таймаут в 1 минуту)


> e-mail(почтовый ящик)...)


Пока ты не забрал почту из "ящика", рассуждать про "отображается коряво" бессмысленно .
Вот я и спрашиваю, где ты наблюдаешь "корявость", в каком почтовом клиенте ? В самодельном ?


belousov   (2009-08-27 16:32:00) [15]


> сравнить заголовок и тело одного и того же письма


попробую


> А как же Аутлук ?
> Он тоже "посмотрел" ?)


не понял)


> Что значит "на почту" ?


e-mail(почтовый ящик)...)


Сергей М.   (2009-08-27 16:17:00) [16]


> как можно это узнать, чтобы в дальнейшем исправить?
>


Достаточно сравнить заголовок и тело одного и того же письма, отправляемого ICS и попадающего в сомнительные и отправляемого любым иным клиентом, при котором письмо туда не попадает.


> там таймаут надо 1 минуту ставить после определенного количества
> писем


А как же Аутлук ?
Он тоже "посмотрел" ?)


> На почту


Что значит "на почту" ?


> как не старался текст письма все равно отображается иероглифами


http://www.delphimaster.ru/cgi-bin/forum.pl?id=1233223566&n=4
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1239719308&n=4


belousov   (2009-08-27 15:59:00) [17]


> отходит от каких-то требований RFC 2822


А как можно это узнать, чтобы в дальнейшем исправить?


> посмотреть Msg в OnResponse и RqType,ErrorCode в OnRequestDone


Кстати спасибо ещё раз уже посмотрел... оказалось, что там таймаут надо 1 минуту ставить после определенного количества писем...


> Приходило куда ?


На почту... С заголовком письма я там разобрался - все по русски нормально приходит, а вот сам текст(тело) письма отображается коряво. Пробовал и исходники исправлять как пишут на форумах и кодировать по разному, но как не старался текст письма все равно отображается иероглифами.


Сергей М.   (2009-08-27 15:52:00) [18]


> если не пытаться что либо делать с кодировкой


А что-то мешает этим попыткам ?


Сергей М.   (2009-08-27 15:48:00) [19]


> отправленные с помощью ICS письма(которые дошли) попадают
> на mail.ru в папку "Сомнительные"


Значит ICS-клиент в отправляемых заголовках писем где-то как-то отходит от каких-то требований RFC 2822, а smtp-сервер на mail.ru, напротив, ожидает их соблюдения ... Или сервер расценивает твои письма как потенциальный спам или небезопасную корреспонденцию ..


> чтобы тело письма приходило нормальным текстом


Приходило куда?


belousov   (2009-08-27 15:34:00) [20]

Спасибо, попробую) и ещё такой вопросик... отправленные с помощью ICS письма(которые дошли) попадают на mail.ru в папку "Сомнительные", если же использовать Indy, то приходят как и положено в папку "Входящие", но в Indy сколько я не мучался так и не смог добиться чтобы тело письма приходило нормальным текстом, а не иероглифами или же вопросиками(если не пытаться что либо делать с кодировкой). Вот интересно как бы на ICS сделать так, чтобы письма приходили в папку "Входящие", а не в "Сомнительные"?


Страницы:   1 2 3

Наверх

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