Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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.034 c
3-1091451475
Andy
2004-08-02 16:57
2004.08.29
Update в ADO


14-1091898895
Aspi
2004-08-07 21:14
2004.08.29
Я в шоке...


3-1091444847
Sectey
2004-08-02 15:07
2004.08.29
Расположение бизнес логики приложения.


1-1092283960
Fynjy
2004-08-12 08:12
2004.08.29
Изменение высоты Combobox а


14-1091863813
Stany
2004-08-07 11:30
2004.08.29
SUS + WinUpdate





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский