Форум: "Сети";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизПомогите сделать отправку письма в консольном приложении Найти похожие ветки
← →
Пиво (2004-05-26 05:48) [0]Уважаемые программисты.
Я не смог найти статью по отправке электронной почты из консольного приложения на Delphi, пожайлуста помоите мне кому не лень!
Заранее благодарен.
← →
Polevi © (2004-05-26 07:52) [1]из GUI приложения можешь ?
← →
Пиво (2004-05-27 05:43) [2]А что такое GUI приложение?
← →
CPAS (2004-05-27 06:21) [3]GUI - Graphic User Interface - Графический пользовательский интерфейс.
А почту ты отправлять можно двумя способами, которые прекрастно работают как в консолях, так и в обычных приложениях:
1. с помощью MAPI.
2. с помощью функции ShellExecute.
Пример
ShellExecute(Application.Handle, nil, PChar("mailto:email_address?body=body_here&subject=subject_here"), nil, nil, SW_SHOWNORMAL)
← →
BiN © (2004-05-27 09:32) [4]CPAS (27.05.04 06:21) [3]
А почту ты отправлять можно двумя способами
ну это ты зря. ручками, батенька, ручками (Rouse_, кажется, уже несколько раз выкладывал пример SMTP с использованием обычных сокетов)
1. с помощью MAPI.
2. с помощью функции ShellExecute.
эти 2 метода завязаны на продукции 3-их фирм, что не есть хорошо для серьезного приложения.
← →
ORMADA © (2004-05-27 09:41) [5]Indy заюзать можно
program SendMail;
{$APPTYPE CONSOLE}
uses
IdMessage, IdSMTP, SysUtils;
var
M: TIdMessage;
SMTP: TIdSMTP;
begin
{
структура сообщения
1 От кого
2 Кому
3 Тема
4 Тело
5 Хост (mail.ru)
6 UserName
7 UserPass
}
if ParamCount < 7 then
begin
writeln("Message Structure");
writeln("1 From <x@mail.ru>");
writeln("2 To");
writeln("3 Subject");
writeln("4 Body");
writeln("5 Host (mail.ru-194.67.23.111)");
writeln("6 UserName");
writeln("7 UserPass");
Exit;
end;
try
M := TIdMessage.Create(nil);
M.From.Text := Paramstr(1); //отправитель
M.Recipients.Add;
M.Recipients.Items[0].Text := Paramstr(2); //Получатель
M.Subject := Paramstr(3); //Тема письма
M.Body.Add(Paramstr(4));
SMTP := TIdSMTP.Create(nil);
SMTP.AuthenticationType := atLogin;
SMTP.Host := Paramstr(5); // mail.ru - 194.67.23.111
SMTP.Username := Paramstr(6); // в формате usermane@mail.ru
SMTP.Password := Paramstr(7);
try
SMTP.Connect;
if SMTP.Connected then
begin
SMTP.Send(M);
SMTP.Disconnect;
writeln("message send!");
end;
except
writeln("cant conneted to server-> " + Exception(ExceptObject).Message);
end;
finally
FreeAndNil(M);
FreeAndNil(SMTP);
end;
end.
← →
Пиво (2004-05-29 04:42) [6]Спасибо, попробую днём
← →
Winni (2004-06-26 14:50) [7]Спасибо, это действительно работает, и кроме того - понятно.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.026 c