Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2011, 23:53   #1
4ok
Coder.
Пользователь
 
Аватар для 4ok
 
Регистрация: 29.11.2010
Сообщений: 33
По умолчанию Отправка файла по EMAIL

Всем привет! Знаю, что вопрос подымался 100500 раз, перелистал все темы, что смог найти и на этом форуме и на множистве других!
Но есть 1 нерешенная проблема!
что бы прекрипить файл следует сделать:

TIdAttachment.Create(Msg.MessagePar ts,OD.FileName);

на что компилятор говорит:

[DCC Error] Unit1.pas(234): E2034 Too many actual parameters

ЧТО ДЕЛАТЬ??? О_О в чем проблема???? Очень надеюсь на вашу помощь!


ПС :

видел еще такой вариант:

att:=TIdAttachment.Create(msg.Messa geParts);
att.LoadFromFile(OD.FileName);


но тоже не пашет(



ПС2: Заранье благодарен!
4ok вне форума Ответить с цитированием
Старый 10.05.2011, 23:59   #2
4ok
Coder.
Пользователь
 
Аватар для 4ok
 
Регистрация: 29.11.2010
Сообщений: 33
По умолчанию

У меня есть погрешност на то, что я программирую на DELPHI XE. Все эти примеры рассмотерны на младших версиях..
4ok вне форума Ответить с цитированием
Старый 11.05.2011, 20:48   #3
4ok
Coder.
Пользователь
 
Аватар для 4ok
 
Регистрация: 29.11.2010
Сообщений: 33
По умолчанию

HEEEEELP!!!!
4ok вне форума Ответить с цитированием
Старый 20.06.2011, 19:44   #4
Den7656
Форумчанин
 
Аватар для Den7656
 
Регистрация: 08.06.2011
Сообщений: 103
Радость Хай Мэн !

Попробуй такую тему :
Вместо:
att:=TIdAttachmentFile.Create(IdMes sage.MessageParts, 'c:\Xxx.xxx');

забей:
TIdAttachmentFile.Create(IdMessage1 .MessageParts, 'c:\Xxx.xxx');

в Uses не забудь добавить TIdAttachmentFile.

И будет тебе счастье
Сам с этим гемором мучался )
Жизнь хорошая штука -и⊥ʎdʞ ин ʞɐʞ
Den7656 вне форума Ответить с цитированием
Старый 20.06.2011, 19:48   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
на что компилятор говорит:

[DCC Error] Unit1.pas(234): E2034 Too many actual parameters
А по моему там чётко написано в чём дело.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 20.06.2011, 20:47   #6
JetUS
Пользователь
 
Аватар для JetUS
 
Регистрация: 23.09.2009
Сообщений: 27
По умолчанию

Что оно тебе говорит на
Код:
att:=TIdAttachment.Create(msg.MessageParts);
att.LoadFromFile(OD.FileName);
?
JetUS вне форума Ответить с цитированием
Старый 02.08.2011, 15:50   #7
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от JetUS Посмотреть сообщение
Что оно тебе говорит на
Код:
att:=TIdAttachment.Create(msg.MessageParts);
att.LoadFromFile(OD.FileName);
?
Abstract error

Похоже на косяк в Indy

В ранних версиях Delphi конструктор для TIDAttachment определен как
TIdAttachment.Create(Collection: TCollection; Filename; string);

В Delphi XE конструктор для TIDAttachment определен как
TIdAttachment.Create(Collection: TCollection);

Нужно использовать не TIdAttachment а TIdAttachmentFile

Последний раз редактировалось Rik; 02.08.2011 в 15:59.
Rik вне форума Ответить с цитированием
Старый 02.08.2011, 16:12   #8
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Код:
uses   
.. smtpsend,  MimeMess,  MimePart .. // юниты в составе библ-ки Synapse

..
type
  TMemStream = class(TCustomMemoryStream) // friend memory stream class
  end;
..

function SendFileByMail(AFileName: PAnsiChar; AFileData: PByte; AFileSize: Cardinal; AHost, AUser, APass, ASubject, ATo, AFrom , ATextBody: PAnsiChar): Boolean;
var
  tmpMsg: TMimeMess;
  tmpStringList: TStringList;
  tmpMIMEPart: TMimePart;
  ms: TMemStream;
begin
  Result := False;
  try
  tmpMsg := TMimeMess.Create;
  tmpStringList := TStringList.Create;
  try
    // заголовки
    tmpMsg.Header.From := Format('<%s>', [AFrom]);
    tmpMsg.Header.ToList.Add(Format('<%s>', [ATo]));
    tmpMsg.Header.Subject := ASubject;

    // MIMe части
    tmpMIMEPart := tmpMsg.AddPartMultipart('alternate',nil);

    if Length(ATextBody) > 0 then
      begin
        tmpStringList.Text := ATextBody;
        tmpMsg.AddPartText(tmpStringList, tmpMIMEPart);
      end;

    ms := TMemStream.Create;
    try
      ms.SetPointer(AFileData, AFileSize);
      tmpMsg.AddPartBinary(ms, AFileName, tmpMIMEPart);
    finally
      ms.Free;
    end;

    // кодируем и отправляем
    tmpMsg.EncodeMessage;
    Result := SendToRaw(AFrom, ATo, AHost, tmpMsg.Lines, AUser, APass);

  finally
    tmpMsg.Free;
    tmpStringList.Free;
  end;
  except
  end;
end;

Последний раз редактировалось mss; 02.08.2011 в 16:21.
mss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка по email DeDoK Общие вопросы Delphi 6 19.04.2011 11:41
Отправка файла на Email rust-02 Работа с сетью в Delphi 1 28.08.2010 12:35
Отправка сообщения на email по таймеру! poster123 Win Api 7 14.07.2009 20:05
Отправка email через прокси BMH Общие вопросы .NET 3 26.04.2009 03:07
Как отправка текста на Email Миша HTML и CSS 1 12.10.2008 23:20