Главная страница
    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.036 c
14-1091986370
VID
2004-08-08 21:32
2004.08.29
Через 15 минут по ОРТ фильм "Враг у ворот"


1-1092196174
maxkat
2004-08-11 07:49
2004.08.29
глобальные переменные!


3-1091511781
Last
2004-08-03 09:43
2004.08.29
Перехват удаления в RXDBGrid при нажатии клавиш CTRL - Del


3-1090838604
Dalex
2004-07-26 14:43
2004.08.29
MySql


4-1089908217
BaG
2004-07-15 20:16
2004.08.29
Как получить доступ к памяти любого процесса в системе?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский