Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Помогите сделать отправку письма в консольном приложении   Найти похожие ветки 

 
Пиво   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-1091853334
SergP
2004-08-07 08:35
2004.08.29
упал Win2k server. Как-то странно упал...


14-1092013180
Sergey Kaminski
2004-08-09 04:59
2004.08.29
Дурацкие законы


4-1089840854
MIGUR
2004-07-15 01:34
2004.08.29
Как отследить нажатия левой и правой кнопки мыши


1-1092402136
Лёня
2004-08-13 17:02
2004.08.29
Функция GetCurrentThread


4-1089823106
webpauk
2004-07-14 20:38
2004.08.29
WM_MENUSELECT