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

Вниз

Как отправить письмо по электронной почте?   Найти похожие ветки 

 
AlexAA   (2008-06-26 06:26) [0]

Добрый день! Подскажите, пожалуйста, как отправить письмо по электронной почте, например, через Outlook незаметно для пользователя. Адрес получателя, тема письма заранее известны. Спасибо.


 
Loginov Dmitry ©   (2008-06-26 07:35) [1]

> как отправить письмо по электронной почте, например, через
> Outlook незаметно для пользователя.


Отвлечь пользователя, сесть за его компьютер, отправить через Outlook, удалить все следы отправки.

Если хочется программно, то в наборе Indy есть все необходимые для этих целей компоненты.


 
AlexAA   (2008-06-26 07:50) [2]

Если можно, то поподробнее расскажите, пожалуйста


 
Anatoly Podgoretsky ©   (2008-06-26 08:40) [3]

Об Инди подробный рассказ займет много дней. Может ты сам почитаешь справку, она не большая - всего 21 000 страниц.


 
AlexAA   (2008-06-26 08:55) [4]

нет у меня справки. Либо ее надо как-то устанавливать. По Indy вылетает сообщение "Раздел не существует. Обратитесь к поставщику за обновленной версией файла справки"


 
AlexAA   (2008-06-26 08:57) [5]

Вот у меня такой код. Что-то не работает

procedure TForm1.Button1Click(Sender: TObject);
var
 idSMTP: TidSMTP;
 Msg: TidMessage;
 idAtt: TIdAttachment;
begin
   Msg:=TidMessage.Create(nil);
   Msg.From.Address:= "адрес отправителя";
   Msg.Subject:= "тема";
   Msg.Body.Text:= "текст";
   Msg.Recipients.EMailAddresses:= "адрес получателя";
   idSMTP:=TidSMTP.Create(nil);
   idSMTP.Host:= "smtp сервер";
   idSMTP.Port:= 25;
   idSMTP.AuthenticationType:=atLogin;
   idSMTP.Username:= "логин";
   idSMTP.Password:= "пароль";

 idAtt:=TIdAttachment.Create(Msg.MessageParts,"файл");
   idSMTP.Send(Msg);
   idSMTP.Disconnect;

   idAtt.Free;
   idSMTP.Free;
   Msg.Free;

end;


 
AlexAA   (2008-06-26 08:59) [6]

ну, естественно все адреса отпрвителя, получателя и т.д. заменены на реальные ...@.....


 
Palladin ©   (2008-06-26 09:04) [7]


> Что-то не работает

истина где"то рядом


 
Dennis I. Komarov ©   (2008-06-26 09:13) [8]

> Что-то не работает

Так и говорит?


> Msg.Recipients.EMailAddresses.

Посмотри тут

ЗЫ про try не плохо бы почитать...


 
AlexAA   (2008-06-26 09:14) [9]

но вообще-то код правильный? как считаете? или он в принципе неработоспособен?


 
AlexAA   (2008-06-26 09:17) [10]

выдает сообщение, что типа "not connecned".


 
Dennis I. Komarov ©   (2008-06-26 09:21) [11]

> [10] AlexAA   (26.06.08 09:17)

Ну и чего тебе не нравиться? Строки Connect я не нашел.


 
Dennis I. Komarov ©   (2008-06-26 09:22) [12]

> что типа "not connecned".

Чукча?


 
Palladin ©   (2008-06-26 09:22) [13]

а Disconnect"то, однако, вызвать не забыл... :) чудно


 
Anatoly Podgoretsky ©   (2008-06-26 09:34) [14]


> нет у меня справки. Либо ее надо как-то устанавливать. По
> Indy вылетает сообщение "Раздел не существует. Обратитесь
> к поставщику за обновленной версией файла справки"

Ctrl+F -> d7indy.hlp


 
AlexAA   (2008-06-26 09:58) [15]

> Ctrl+F -> d7indy.hlp

Сообщение такое: "Search string "d7indy.hlp" not found"


 
AlexAA   (2008-06-26 10:01) [16]

еще такой момент:
idSMTP.Port: для целых чисел.
А если мне надо написать "85.115.172.33", то как быть?


 
Dennis I. Komarov ©   (2008-06-26 10:03) [17]

> А если мне надо написать "85.115.172.33", то как быть?

А что это?


 
Palladin ©   (2008-06-26 10:07) [18]

это порт :))


 
AlexAA   (2008-06-26 10:09) [19]

вообщем делаю так:
begin
   Msg:=TidMessage.Create(nil);
   Msg.From.Address:= "post@post.ru";
   Msg.Subject:= "тема";
   Msg.Body.Text:= "текст";
   Msg.Recipients.EMailAddresses:= "post@post.ru";
   idSMTP:=TidSMTP.Create(nil);
   idSMTP.Host:= "post.ru";
   idSMTP.Port:= 25;
   idSMTP.AuthenticationType:=atLogin;
   //idSMTP.Username:= "логин";
   //idSMTP.Password:= "пароль";

 idAtt:=TIdAttachment.Create(Msg.MessageParts,"файл");//если нужно прикрепить файл
          try
                    idSMTP.Connect(-1);
                    except
                       //обработу неконнекта я не сделал
                    end;
   idSMTP.Send(Msg);
   idSMTP.Disconnect;

   idAtt.Free;
   idSMTP.Free;
   Msg.Free;

end;

вылетает сообщение: "Project Project1.exe raised exception class EIdSoccketError with message "Socket Error # 10051 Network is unreachable.". Process stopped. Use Step or Run to continue."

Что за проблема?


 
Dennis I. Komarov ©   (2008-06-26 10:22) [20]

Осталось перевести сообщение и найти в каком месте возникает ошибка

ЗЫ И все же

  with TidMessage.Create(nil) do try
  ...
  finally
    Free;
  end;


 
Anatoly Podgoretsky ©   (2008-06-26 10:24) [21]


> Сообщение такое: "Search string "d7indy.hlp" not found"

Если ты правильно использовал Ctrl+F то надо переинсталировать Дельфи и больше не глупить, если не понимаешь что, то не надо отказываться при инсталяции.


 
Anatoly Podgoretsky ©   (2008-06-26 10:25) [22]


> это порт :))

А что же еще.
Да тут не справку надо читать, а букварь по сетям. До справки еще идти и идти.


 
AlexAA   (2008-06-26 12:37) [23]

Ошибка #10060 Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было ...EIdSocketError.

Не понимаю, почему не пашет.... Что не так в коде? Может сталкивался кто?


 
Dennis I. Komarov ©   (2008-06-26 12:46) [24]

> [23] AlexAA   (26.06.08 12:37)

Разберись для начала с разницей Port b Host


 
AlexAA   (2008-06-26 13:13) [25]

PORT - Для отправки электронной почты по протоколу SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты), используется 25 порт, по которому посылаются команды и текст письма. Т.е. это порт.
IdSMTP1.Port:=25;
HOST - Для соединения с SMTP сервером, который будет осуществлять отправку почты, нужно указать его URL.
IdSMTP1.Host := "smtp.mail.ru";


 
Dennis I. Komarov ©   (2008-06-26 14:02) [26]

> [25] AlexAA   (26.06.08 13:13)

А теперь прокомментирый свой [16]


 
AlexAA   (2008-06-26 14:24) [27]

Короче, сделал так:
Form1.idSMTP1.AuthenticationType:= atLogin;
Form1.idSMTP1.Username:="логин";
Form1.idSMTP1.Password:="пароль";
Form1.idSMTP1.Host:="сервер";
Form1.IdSMTP1.Port:=25;
msg:=TIdMessage.Create(nil);
msg.Body.Add("test :)");
msg.Subject:="test mail";
msg.From.Address:="адрес отправителя";
msg.From.Name:="От кого";
msg.Recipients.EMailAddresses:="адрес получателя";
msg.IsEncoded:=true;
//attach:=TIdAttachment.Create(msg.MessageParts,"C:\D.doc");
try
Form1.idSMTP1.Connect();
if Form1.idSMTP1.Connected then
begin
Form1.idSMTP1.Send(msg);
showmessage("Отправка завершена!");
end
else showmessage("Нет соединения! :(");
finally
Form1.IdSMTP1.Disconnect;
end;
//attach.Free;
end;

И все ЗАПАХАЛО!!!!!!!!!!!!!!!!!!
Всем спасибо за ПОМОЩЬ!!!


 
AlexAA   (2008-06-26 14:28) [28]

idSMTP1.Host:="имя сервера";



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
2-1214288805
Sergey2
2008-06-24 10:26
2008.07.27
Нажатие кнопки мыши.


2-1214540511
alex810
2008-06-27 08:21
2008.07.27
Ошибка при подключении


15-1212990982
denic
2008-06-09 09:56
2008.07.27
ЭВМ


15-1213095081
Res
2008-06-10 14:51
2008.07.27
текст с картинки


2-1214361504
apic
2008-06-25 06:38
2008.07.27
GetFocus()





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