• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Отправка мыла

  • Автор темы vital
  • Дата начала
V

vital

Все осложнено тем, что мне нужно отправить письмо из консольной программы, плюс нужно отправить сообщение с количеством вложений намного >1(т.е дофига).
Mapi не подходит сразу же т.к нет гарантии что он будет настроен.
Я хотел динамически создать компоненты от Indy(IdSmtp,IdMessage,IdAttachment) но мне не дошло как отправить больше одного вложения в письме.
Помогите кто чем может..
ЗЫ.
У меня D2006 и Indy 10.
 
B

Barmutik

Ну так и вчём проблема ? Создавайте атачменты и цепляйте их к TIDMessage .. приведите Ваш код.. в чём конкретно проблема?
 
V

vital

Проблема в том, что работать с этими компанентами мне ещё не приходилось, а потому я не совсем в курсе как отправить кучу вложений..
код..ну..что-то в духе..
Код:
{...}
usprof:=GetEnvironmentVariable('USERPROFILE')+'\';
flisttxt:=TStringList.Create;
FindFiles(usprof+'путь','*.txt',flisttxt); //процедурка ищет все файлы подоходящие маске в дереве папок начиная от указанной
//далее
smtp:=TIdSMTP.Create;
smtp.Host:='mail.tut.by';
smtp.Password:='пароль';
smtp.Username:='vitalyhome@tut.by';
msg:=TIdMessage.Create;
msg.Subject:='Message from AL';
msg.From.Text:='от кого';
msg.Recipients.Add;
msg.Recipients.Items[0].Text:='кому';
atch:=TIdAttachment.Create(nil);
{ а вот тут у меня трабла.. нуна что в духе}
for I := 0 to fListtxt.Count - 1 do
begin
{добавляем атачмент путь к которому flisttxt.strings[i]}
end;
smtp.connect;
smtp.send(msg);
{...}
 
B

Barmutik

Ну так у Вас всё пои готово . тоьлко чсутка поправить... вот так:

Код:
AAttach: TIDAttachment;
AMessage: TIdMessage;
.....

for I := 0 to fListtxt.Count - 1 do
begin
AAttach := TIDAttachment.Create(AMessage.MessageParts, fListtxt[I]);
AAttach.FileName := fListtxt[I];
end;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!