Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Апи отправки почты
Посл.ответ Сообщение

Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 ноября 2006 03:42
· Личное сообщение · #1

Подскажите плиз какие можно использовать в данной ситуации и если можно с описанием функции и ломтиком кода на ВБ. Благодарен за любую инфу по этой теме




Ранг: 199.9 (ветеран), 4thx
Активность: 0.120.02
Статус: Участник

Создано: 16 ноября 2006 03:57
· Личное сообщение · #2

См. в гугле RAS API



Ранг: 222.2 (наставник), 115thx
Активность: 0.140.01
Статус: Участник

Создано: 16 ноября 2006 04:34
· Личное сообщение · #3

Попробуй трой какой-нить дизассемболировать, сразу много чего узнаешь

-----
все багрепорты - в личные сообщения




Ранг: 48.8 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 ноября 2006 05:04
· Личное сообщение · #4

на sources.ru есть куча прог отправки почты с аттачами и прочей лабудой.

з.ы. для отправки аттачей юзаются base64 функции. это на будущее.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 16 ноября 2006 09:05
· Личное сообщение · #5

SeQuick
три варианта:
а) пишешь реализацию SMTP и Mime/base64
b) находишь компонент который это делает и пользуешь его
с) вызываешь функцию outlook-а через COM



Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 16 ноября 2006 09:22
· Личное сообщение · #6

Я пользовался кодом от MsRem-a, правда он на дельфях.
Шлет как из пушки.

f4ce_16.11.2006_CRACKLAB.rU.tgz - MailSend.pas




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 16 ноября 2006 14:31
· Личное сообщение · #7

xDriver
что-то я не понял, куда вводить адрс почты...
можешь пример привести плиз.......




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 16 ноября 2006 16:35
· Личное сообщение · #8

Mavlyudov пишет:
что-то я не понял, куда вводить адрс почты...

ну, это по мере фантазии

функция берёт from and dest.



Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 17 ноября 2006 02:12
· Личное сообщение · #9

Mavlyudov
код Builder c++

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{

WORD wVersionRequested;
WSADATA wsaData;

AnsiString To, Data, Smtp, From;
try
{

To = "To@mail.ru";
Data = "Проба ....... !!!";
Smtp = "smtp.mail.ru";
From = "From@mail.ru";

wVersionRequested = MAKEWORD( 2, 0 );
int err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
/* Tell the user that we couldn't find a usable */
/* WinSock DLL. */
return;
}
if (SendMail(Smtp.c_str(), 25, From.c_str(), To.c_str(), Data.c_str()))
{
InformBox("Mail send - OK");
} else {
ErrorBox("Mail send - ERROR");
}
WSACleanup();

}
catch (Exception& E)
{
WSACleanup();
ShowMessage("Ошибка отправки e-mail: " + E.Message);
}
}




Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 17 ноября 2006 03:09
· Личное сообщение · #10

offtop:
Ну сделайте наконец форматирование текста, а то не возможно читать такое.



Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 17 ноября 2006 10:56
· Личное сообщение · #11

Function SendMail(Smtp: PChar; Port: dword; From, Dest, Data: PChar): boolean;

P.S. Паскаль знаю плохо

Может поделитесь инфой как это написать на ВБ без лишнего геморроя?




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 17 ноября 2006 11:57
· Личное сообщение · #12

vbnet.ru/samples/showgroup.aspx?id=7

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 48.8 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 17 ноября 2006 23:11
· Личное сообщение · #13

вообще щас большинство почтовых сервов (mail.ru и т.д.) не дают слать почту с левых адресов, прежде чем не пройдете авторизацию на smtp. так что с популярными сервами получится облом с анонимными письмами или письмами с чужих ящиков.




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 18 ноября 2006 04:30 · Поправил: Mavlyudov
· Личное сообщение · #14

xDriver
помоги на делфи сделать..я перевел твой пример...что-то не работает..

procedure TForm1.Button1Click(Sender: TObject);
var
wVersionRequested:word;
WSADAT: wsaData;
To_, Data, Smtp, From: AnsiString;
err:Integer;
begin
try

To_:='To@mail.ru';
Data:='Ïðîáà ....... !!!';
Smtp:='smtp.mail.ru';
From:='From@mail.ru';

wVersionRequested:=MAKEWORD(2,0);
err:=WSAStartup(wVersionRequested, wsaDat);
if (err<>0) then exit;
if SendMail( Pchar(Smtp), 25, Pchar(From), Pchar(To_), Pchar(Data) )
then MessageBox(handle,'Mail send - OK', nil,MB_ICONINFORMATION) else
MessageBox(handle,'Mail send - ERROR',nil,MB_OK);
WSACleanup();
except
on Exception do
begin
WSACleanup();
ShowMessage('Error sending e-mail: ');
end;

end;
end;



Ранг: 69.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 18 ноября 2006 20:16 · Поправил: userdom
· Личное сообщение · #15

В аттаче проект для делфи, мануал и програма от парня
по имени Robert с напутствием :
"This program is a FREEWARE, you can use it in any applications,
and develop better, and nicer programs"

168 KB
409b_18.11.2006_CRACKLAB.rU.tgz - email.rar



Ранг: 39.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 19 ноября 2006 12:18 · Поправил: NetSpider
· Личное сообщение · #16

Когда-то год назад написал. Правда на С++. Функции вызываются по порядку. С mail.ru работало.
BOOL WINAPI InitializeConnect();
BOOL WINAPI ConnectToHost(char *HostName);
BOOL WINAPI SendMailAddress(char *MailFrom,char *MailTo);
BOOL WINAPI SendMailInfo(char *MailSubject,char *MailFrom,char *MailTo);
BOOL WINAPI SendMailMessage(char *MessageText);
BOOL WINAPI SendMailFile(char *FileName); - вызывается, если требуется прикрепить файл
Надо два файла вызываешь два раза. Например SendMailFile("text.txt") и SendMailFile("text2.txt")
BOOL WINAPI SendEndOfMessage();
BOOL WINAPI FreeConnect();

Может пригодится.



Ранг: 39.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 19 ноября 2006 12:23
· Личное сообщение · #17

Что-то файл с первого раза не захотел прикрепляться.

ed8b_19.11.2006_CRACKLAB.rU.tgz - TMailSMTP.rar




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 20 ноября 2006 10:39
· Личное сообщение · #18

userdom
твоя прога требует компонент TNMDMTP.
И вообще, я просил помоч разобраться с тем примером
коорый выложил тут xDriver
и который я перевел на делфи...но перевел с ошибками...помогите исправить!!!



Ранг: 69.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 20 ноября 2006 16:49
· Личное сообщение · #19

Mavlyudov
у тебя наверное делфи облегченно-урезанное,
только что на новой осе с делфи 5 без
дополнительных побочных компонентов
за 2 сек откомпилировал.
А вообще-то выложил просто для инфы,
может кому пригодиться...



Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 21 ноября 2006 02:03
· Личное сообщение · #20

Mavlyudov
Ну давай разбиратся !
Код вроде нормальный, что не получается ?
Да, адрес From должен быть валидный (выше писали) например gena@mail.ru (такой есть я проверял)




Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 21 ноября 2006 02:37
· Личное сообщение · #21

Mavlyudov
"не работает" - что значит. не компилируется? запускается, но не отправляется?
отлаживать (трассировать) пробывал? мессага с ошибкой / подтверждением появляется?
или вообще exit срабатывает?




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 21 ноября 2006 11:10
· Личное сообщение · #22

xDriver
ну я не уверен, правильно ли я заменил try {} catch {}
на try except .
И еще вот это
catch (Exception& E)

можно ли заменить на

except
on Exception do
begin
...........
end
??????

и еще ShowMessage("Ошибка отправки e-mail: " + E.Message);
я заменил на
ShowMessage('Error sending e-mail: ');
а вот это + E.Message не получилось заменить ничем...

А после запуска прога виснет ......



Ранг: 54.0 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 21 ноября 2006 13:28
· Личное сообщение · #23

Mavlyudov пишет:
И еще вот это
catch (Exception& E)

можно ли заменить на

except
on Exception do
begin
...........
end

try

except

on e:exception do
begin
showmessage('error occured:'+e.message);
end;
end;




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 21 ноября 2006 13:59
· Личное сообщение · #24

n1kto
спасибо . все получилось.. Просто это Dr. web мешал и поэтому все висло!!
а нельзя доработать модуль MailSend.pas, чтобы можно было файлы прикреплять к письму???
как это сделать?



Ранг: 45.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 22 ноября 2006 15:23
· Личное сообщение · #25

darkeagle

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

smtp.yandex.ru - нужна авторизация, решается тремя командами сервера, адрес опять же должен быть валидный, здесь c чужого адреса не зная пароля ничего не получится.

так что заведя на mail.ru (левый) аккаунт проблем с отсылкой быть не должно.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 22 ноября 2006 16:04
· Личное сообщение · #26

Mavlyudov, чувак, а ты не детского троянито случайно вояешь? Ну а по поводу файлов - копни две темы: base64 (это что бы файл перевести в поток ASCII, типа UU encoding из фидо) и mime (что бы зафигачить attachment и текст в одну месагу)




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 26 ноября 2006 13:24
· Личное сообщение · #27

s0larian пишет:
Mavlyudov, чувак, а ты не детского троянито случайно вояешь?


С чевото же нужно начинать...

-----
Что один человек сделал , другой всегда сломать может...



 eXeL@B —› Программирование —› Апи отправки почты
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати