Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и сети

Войти
Регистрация
Восстановить пароль
 
Y3YCJA
0 / 0 / 0
Регистрация: 09.11.2016
Сообщений: 3
#1

Как прикрепить файл к письму? - Delphi

10.11.2016, 09:15. Просмотров 791. Ответов 2
Метки нет (Все метки)

Добрый день, кто может мне помочь? Мне надо прикрепить файл к письму, а у меня не получается. Вот фрагмент кода:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if idSmtp1.Connected = TRUE then
begin
  idMessage1.From.Name:='***';
  idMessage1.Subject:='Тема письма';
  idMessage1.From.Address:='откуда';
  idMessage1.Recipients.EMailAddresses:='куда';
  idMessage1.Body.Text:='текст письма';
  idMessage1.ContentType:='text/html; charset=windows-1251';
  idMessage1.ContentTransferEncoding:='8bit';
  if FileExists(Protocol)
  then TIdAttachment.Create(idMessage1.MessageParts,'полный путь до имени файла, который пытаюсь прикрепить');  
  try
  try
      idSmtp1.Send(idMessage1);
      Label5.Caption:=Label5.Caption+#13#10+'Письмо отправлено';
      idSmtp1.Disconnect;
  except on E:Exception do
      Label5.Caption:=Label5.Caption+#13#10+'Письмо не было отправлено';
  end;
  finally
      if idSmtp1.Connected then idSmtp1.Disconnect;
  end;
end;
Ругань на строку
TIdAttachment.Create(idMessage1.MessageParts,Protocol);
потому что видите ли слишком много параметров (E2034 Too many actual parameters)
ему видите ли требуется 1 параметр TidCollection.
Что это за TidCollection? Мой проект в BDS, в нём не совсем так как в Дельфи 7, например, чтобы воспользоваться TIdAttachment, я в uses дописываю IdAttachment.
Кто-то сталкивался с подобным?
На Дельфи 7 этот код у меня работает, файлы спокойно приаттачиваюся.
А тут бабушка упёрлась рогом.

Добавлено через 15 часов 4 минуты
Если использую вместо TIdAttachment - TIdAttachmentFile, и, соответственно, в uses вместо IdAttachment - IdAttachmentFile, то синтаксической ошибки "E2034 Too many actual parameters" не появляется, но файл всё равно не прикрепляется
то есть не прикрепляется как вложение (он в тексте письма в какой-то левой кодировке).
Как сделать??? Может, кто сталкивался???

Добавлено через 1 час 19 минут
Проблема решена, но частично: всё дело было в этих строках:
Delphi
1
2
idMessage1.ContentType:='text/html; charset=windows-1251';
  idMessage1.ContentTransferEncoding:='8bit';
их надо убрать, тогда письмо прикрепляется именно как вложение. Но вот что плохо теперь - текст письма теперь приходится на английском писать. Для моей задачи это несущественно (могу вообще только вложение выслать, да и всё), но вообще интересно, как сделать, чтобы и вложение нормально прикреплялось, и кодировка текста письма была нормальной. Имеется в виду, как это сделать без дополнительных новоротов, когда каждый символ строки переводится в цикле в другую кодировку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 09:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как прикрепить файл к письму? (Delphi):

Indy прикрепить файл к письму - Delphi
Добрый вечер) Товарищи, подскажите, как прикрепить аррхив к письму??? В инете нашел строку ...

Прикрепить файл при отправке письма на почте - Delphi
Здравствуйте ребята , Версия Indy : 10.5.9.0 и хочу прикрепить файл на почте {$R *.dfm} uses IdAttachmentFile ,ComObj; ...

Как отправлять сообщение через SMTP и при этом прикрепить изображение? - Delphi
Помогите разобраться, почему не отправляется. procedure TForm1.FormActivate(Sender: TObject); begin try ...

Прикрепление картинок непосредственно к письму - Delphi
Доброго времени суток! Пишу программу, для просмотра писем почтового ящика. Вроде как работает, но не со всеми письмами. Написал такой...

Прикрепить фаил - Delphi
Господа подскажите пожалуйста, мне в почтовике надо прикрепить фаил как это сделать? есть Еdit куда указывается адрес прикрепляемого...

bmp прикрепить к exe - Delphi
есть картинка в bmp формате и exe как бы прикрепить ее к exe? и вообще можно ли так делать?

2
NIKOLAYY
818 / 716 / 161
Регистрация: 22.09.2012
Сообщений: 4,994
11.11.2016, 20:10 #2
Y3YCJA,
Попробуй кодировку так AnsiToUtf8 или так Utf8ToAnsi.
И на резных версиях делфей по разному чуть, в гугле все кодировки есть если че.
0
Y3YCJA
0 / 0 / 0
Регистрация: 09.11.2016
Сообщений: 3
21.11.2016, 08:43  [ТС] #3
Спасибо, помогло это: AnsiToUtf8
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2016, 08:43
Привет! Вот еще темы с ответами:

Как прикрепить файл к письму? - PHP
Подскажите, пожалуйста, как можно к сообщению прикрепить файл и все это дело отправить получателю?

Как прикрепить к письму файл и отослать? - Visual Basic
Как прекрепить к письму <FONT color=#ff1111>файл и отослать ?

Прикрепить файл к письму - C++ Builder
я написал на программу отправки емаийла !! как его изменить что бы можно было прикрепить файл??? IdSMTP1->Host="smtp.yandex.ua"; ...

Прикрепить файл к письму на email - C#
Всем привет!У меня есть код, который отправляет сообщение на email.Письмо отправляется свободно, но я не могу прикрепить к нему файлы.Может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru