Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отправить E-Mail 
:(
    Опции темы
Alex103
Дата 1.4.2005, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Как отправить письмо но только так что-бы у пользователя не появлялась программа для почты а просто пошло письмо на адресс указаный заранее!!! У меня нет мыслей к этому вопросу, может вы что нибудь посоветуете!!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
FRAGNATIC
Дата 1.4.2005, 05:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



Код

unit SendMailTo;

interface

uses WinSock, SysUtils, Windows;  // не забудь этот модуль для работы с сокетами

function sendmail(const smtp, mail_from, mail_to, body: string): boolean;

implementation

function sendmail(const smtp, mail_from, mail_to, body: string): boolean;

const ok = '250';
       cl = #13#10;

var WSAData: TWSAData;
   Host: TSockAddrIn;
   Sock: TSocket;
   res: integer;
   hostEnt: PHostEnt;

 { отправляем данные через сокет }
 procedure senddata(str: string);
 var i: integer;
 begin
   for i := 1 to length(str) do
     if send(sock, str[i], 1, 0) = SOCKET_ERROR then exit;
 end;

 { получаем ответ от команды }
 function recvdata(const accept: string): bool;
 var buff: array[1..255] of char;
 begin
   res := recv(Sock, buff, 255, 0);
   result := (res = SOCKET_ERROR) or (copy(buff, 1, 3) = accept);
 end;

begin
 result := false;
 try
   WSAStartUp($101, WSAData);
   Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
   if Sock = INVALID_SOCKET then exit;

   // получаем IP адрес SMTP-сервера и переводим его через inet_addr
   hostEnt := gethostbyname(PChar(smtp));
   if hostEnt = nil then exit;
   res := inet_addr(PChar(inttostr(byte(hostEnt^.h_addr_list^[0]))+'.'+inttostr(byte(hostEnt^.h_addr_list^[1]))+'.'+
            inttostr(byte(hostEnt^.h_addr_list^[2]))+'.'+inttostr(byte(hostEnt^.h_addr_list^[3]))));
   if res <= 0 then exit;
   { устанавливаем хост и порт сервера }
   Host.sin_family := AF_INET;
   Host.sin_port := htons(25); // порт 25, можешь поменять
   Host.sin_addr.S_addr := res;

   if connect(Sock, Host, SizeOf(Host)) > 0 then exit;
   sleep(200);
   if not recvdata('220') then exit; // приветствие сервера
   senddata('HELO SANTA' + cl); // после HELO можешь написать свое приветствие
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('MAIL FROM:' + '<'+mail_from+'>' + cl);
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('RCPT TO:' + '<'+mail_to+'>' + cl);
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('DATA' + cl);
   sleep(200);
   if not recvdata('354') then exit;
   senddata(body + cl + '.' + cl); // отправляем текст сообщения
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('QUIT' + cl); // отключаемся от сервера
   result := true;
 finally
   closesocket(sock);
   WSACleanup
 end;
end; 
end.

использование
Код

sendmail('smtp.inbox.ru', '[email protected]', '[email protected]', 'hello there!')

автор вроде как DarkDaemon )
Добавлено @ 05:27
опять е можно через всякие компоненты слать + в ДРКБ вроде тож есть примеры
PM MAIL   Вверх
Alex103
Дата 1.4.2005, 05:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(FRAGNATIC @ 1.4.2005, 05:26)
Код

unit SendMailTo;

interface

uses WinSock, SysUtils, Windows;  // не забудь этот модуль для работы с сокетами

function sendmail(const smtp, mail_from, mail_to, body: string): boolean;

implementation

function sendmail(const smtp, mail_from, mail_to, body: string): boolean;

const ok = '250';
       cl = #13#10;

var WSAData: TWSAData;
   Host: TSockAddrIn;
   Sock: TSocket;
   res: integer;
   hostEnt: PHostEnt;

 { отправляем данные через сокет }
 procedure senddata(str: string);
 var i: integer;
 begin
   for i := 1 to length(str) do
     if send(sock, str[i], 1, 0) = SOCKET_ERROR then exit;
 end;

 { получаем ответ от команды }
 function recvdata(const accept: string): bool;
 var buff: array[1..255] of char;
 begin
   res := recv(Sock, buff, 255, 0);
   result := (res = SOCKET_ERROR) or (copy(buff, 1, 3) = accept);
 end;

begin
 result := false;
 try
   WSAStartUp($101, WSAData);
   Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
   if Sock = INVALID_SOCKET then exit;

   // получаем IP адрес SMTP-сервера и переводим его через inet_addr
   hostEnt := gethostbyname(PChar(smtp));
   if hostEnt = nil then exit;
   res := inet_addr(PChar(inttostr(byte(hostEnt^.h_addr_list^[0]))+'.'+inttostr(byte(hostEnt^.h_addr_list^[1]))+'.'+
            inttostr(byte(hostEnt^.h_addr_list^[2]))+'.'+inttostr(byte(hostEnt^.h_addr_list^[3]))));
   if res <= 0 then exit;
   { устанавливаем хост и порт сервера }
   Host.sin_family := AF_INET;
   Host.sin_port := htons(25); // порт 25, можешь поменять
   Host.sin_addr.S_addr := res;

   if connect(Sock, Host, SizeOf(Host)) > 0 then exit;
   sleep(200);
   if not recvdata('220') then exit; // приветствие сервера
   senddata('HELO SANTA' + cl); // после HELO можешь написать свое приветствие
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('MAIL FROM:' + '<'+mail_from+'>' + cl);
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('RCPT TO:' + '<'+mail_to+'>' + cl);
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('DATA' + cl);
   sleep(200);
   if not recvdata('354') then exit;
   senddata(body + cl + '.' + cl); // отправляем текст сообщения
   sleep(200);
   if not recvdata(ok) then exit;
   senddata('QUIT' + cl); // отключаемся от сервера
   result := true;
 finally
   closesocket(sock);
   WSACleanup
 end;
end; 
end.

использование
Код

sendmail('smtp.inbox.ru', '[email protected]', '[email protected]', 'hello there!')

автор вроде как DarkDaemon )
Добавлено @ 05:27
опять е можно через всякие компоненты слать + в ДРКБ вроде тож есть примеры

у меня как то впроде нет SysUtils. Ато компилятор говорит что SysUtils неопознаный обьект!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
FRAGNATIC
Дата 1.4.2005, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



чё? всмысле нету сисутился? этот модуль есть у всех он сразу с дэлфи идёт без него не куда)
и вообще этот код на ура работает)
PM MAIL   Вверх
Alex103
Дата 1.4.2005, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(FRAGNATIC @ 1.4.2005, 05:32)
чё? всмысле нету сисутился? этот модуль есть у всех он сразу с дэлфи идёт без него не куда)
и вообще этот код на ура работает)

У меня при компиляции ошибок штук 5 вылетает!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
FRAGNATIC
Дата 1.4.2005, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



у меня не одной ошибки просто берёш это записываеш в отдельный модуль соранееш в папке со своим проектом потом пишеш в главном модуле
uses SendMailTo
после чего из главно модуля отправляеш письмо вот таким вот образом
sendmail('smtp.inbox.ru', '[email protected]', '[email protected]', 'hello there!')

smile всё гудбай) хватит с меня на сегодня пойду спать а то ща вся моя родня уже проснётся и начнут на меня гнать чё я не сплю smile smile smile
удачи ) пока я буду спать местные гуру проснутся и те всё растолкуют)

Это сообщение отредактировал(а) FRAGNATIC - 1.4.2005, 06:01
PM MAIL   Вверх
Alex103
Дата 1.4.2005, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(FRAGNATIC @ 1.4.2005, 05:39)
у меня не одной ошибки просто берёш это записываеш в отдельный модуль соранееш в папке со своим проектом потом пишеш в главном модуле
uses SendMailTo
после чего из главно модуля отправляеш письмо вот таким вот образом
sendmail('smtp.inbox.ru', '[email protected]', '[email protected]', 'hello there!')

А у меня что-то письма не отправляються хотя и скомпилировалось все без ошибок!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
FRAGNATIC
Дата 1.4.2005, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



ну эт уже смотря куда слать тк такие письма по большей части за спам считают + смотри прально смтп сервак укажи) вообще тэсти на инбокс ру и письа ищи в папке подозрительные вроде ну вообще не во входящих а в спаме)
Добавлено @ 06:07
вообще юзай компонеты
для этого оч много компонентов есть тип ICS
PM MAIL   Вверх
Alex103
Дата 1.4.2005, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(FRAGNATIC @ 1.4.2005, 06:07)
ну эт уже смотря куда слать тк такие письма по большей части за спам считают + смотри прально смтп сервак укажи) вообще тэсти на инбокс ру и письа ищи в папке подозрительные вроде ну вообще не во входящих а в спаме)
Добавлено @ 06:07
вообще юзай компонеты
для этого оч много компонентов есть тип ICS

Прописываю я следующее

Код

sendmail('mail.ck.ukrtel.net', '[email protected]', '[email protected]', 'hello there!');


А теперь скажи мне куда пойдет это письмо!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
FRAGNATIC
Дата 1.4.2005, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



на '[email protected]'
то вот желательно прописать в от кого тож '[email protected]'
и в смтп тот смтп серер на котором '[email protected]' тоесть твой)
PM MAIL   Вверх
Alex103
Дата 1.4.2005, 06:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(FRAGNATIC @ 1.4.2005, 06:14)
на '[email protected]'
то вот желательно прописать в от кого тож '[email protected]'
и в смтп тот смтп серер на котором '[email protected]' тоесть твой)

Хорошо а зачем тогда [email protected]!!!
А если я прописываю СМПТ своего серрвака а не почты то это разве что-то меняет!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 1.4.2005, 06:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 4
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 2.4.2005, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Мне хоть кто-то подскажет как отправить письмо!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 2.4.2005, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 4
Всего: 162



Цитата(Alex103 @ 2.4.2005, 01:02)
Мне хоть кто-то подскажет как отправить письмо!!

В FAQ 5 способов. Чем еще тебе можно помочь?


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Wowa
Дата 2.4.2005, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Alex103 @ 1.4.2005, 23:02)
Мне хоть кто-то подскажет как отправить письмо!!

чего кричишь? тебе ведь дал Алекс ссылку на FAQ.
PM WWW   Вверх
FRAGNATIC
Дата 2.4.2005, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



я тебе дал полнастью рабочий код который у меня пашет отлично
Цитата
Хорошо а зачем тогда [email protected]!!!
А если я прописываю СМПТ своего серрвака а не почты то это разве что-то меняет!!

ну [email protected] это тип от кого письмо здесь лучше укаывать своё мыло ну мож и другое любое )
СМТП нужно указывать того сервера на котором твоё мыло а именно мыло НА которое пойдёт письмо!
+ в FAQ загляни)
PM MAIL   Вверх
Alex103
Дата 3.4.2005, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 2.4.2005, 01:09)
Цитата(Alex103 @ 2.4.2005, 01:02)
Мне хоть кто-то подскажет как отправить письмо!!

В FAQ 5 способов. Чем еще тебе можно помочь?

Да я не спорю что в ФАКЮ все есть но там такие большущие кода что офигеть можно. А мне ребята знакомые говорили что когда они делали то же что и я то писали всего навсего 3 строки кода!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 3.4.2005, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 4
Всего: 162



Цитата(Alex103 @ 3.4.2005, 00:59)
Да я не спорю что в ФАКЮ все есть но там такие большущие кода что офигеть можно. А мне ребята знакомые говорили что когда они делали то же что и я то писали всего навсего 3 строки кода!!

Говорить можно сколько угодно. Пусть покажут.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
FRAGNATIC
Дата 3.4.2005, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



Цитата
писали всего навсего 3 строки кода!!

в одну строку можно записать оч много при желании)
ну вот пускай они дадут те этот код чудесный)
+ при использвание компонентов строк будет не на много больше)
PM MAIL   Вверх
Alex103
Дата 3.4.2005, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 3.4.2005, 01:03)
Цитата(Alex103 @ 3.4.2005, 00:59)
Да я не спорю что в ФАКЮ все есть но там такие большущие кода что офигеть можно. А мне ребята знакомые говорили что когда они делали то же что и я то писали всего навсего 3 строки кода!!

Говорить можно сколько угодно. Пусть покажут.

Ок я их спрошу!!!! А пока лучше загляну в Факю может ты действительно прав!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 3.4.2005, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 4
Всего: 162



Цитата(Alex103 @ 3.4.2005, 01:05)
А пока лучше загляну в Факю может ты действительно прав!!!

Сделай одолжение загляни и желательно туда заглядывать, до того как задавать вопрос. smile


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
FRAGNATIC
Дата 3.4.2005, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: нет
Всего: 11



загляни ещё сюда http://forum.vingrad.ru/index.php?showtopic=21411
тама тож куча примеров на посл стр есть что-то про мыло)
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1130 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.