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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2016, 12:40   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Восклицание Кодировка и вложения при отправке через Indy

Всем добрый день!
Сто лет ничего не спрашивал, вообще некогда.
Мне нужная отправлялка по электронной почте письма с вложением.
Отправлялку я имею, но вот есть две проблемы на данный момент:
1. Не отображается в тексте полученного письма русский текст, а вместо него вопросительные знаки;
2. Не отправляется вложение, ответ приходит в программу, что типа почтовый сервер принимает мое вложение за спам и посылает меня в поддержку.
Прошу помочь с решением этим двух вопросов!
Вложения
Тип файла: zip Отправка уведомлений на почту.zip (8.9 Кб, 24 просмотров)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.02.2016, 16:10   #2
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Всё по русски)))
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  TIdAttachment.Create(IdMessage1.MessageParts,'D:\test.rar');
  IdMessage1.From.Text := 'Bill Gates<Bill.Gates@microsoft.com>'; //отправитель
  IdMessage1.Recipients.Add;
  IdMessage1.Recipients.Items[0].Text := '"User" <..@mail.ru>'; //Получатель
  IdMessage1.Subject := 'Тема'; //Тема письма
  IdMessage1.Body.Add('Первая строка');
  IdMessage1.Body.Add('Вторая строка');
  IdSMTP1.AuthenticationType := atLogin;
  IdSMTP1.Host := '..ip';
  IdSMTP1.Username := '..@gmail.com';
  IdSMTP1.Password := '..user';
  IdSMTP1.Port:= 25;
  IdSMTP1.Connect();
  if IdSMTP1.Connected then
  begin
    IdSMTP1.Send(IdMessage1);
  end;
  IdSMTP1.Disconnect;
end;

procedure TForm1.IdMessage1InitializeISO(var VTransferHeader: TTransfer;
  var VHeaderEncoding: Char; var VCharSet: String);
begin
  VTransferHeader := bit7;    // Бит на кодирование
  VHeaderEncoding := 'B';     // Тип кодировки: Q - QuotedPrintable, B - Base64
  VCharSet := 'windows-1251'; // Кодировка - кириллица Windows
end;

Последний раз редактировалось artemavd; 07.02.2016 в 17:01.
Iron Monk вне форума Ответить с цитированием
Старый 07.02.2016, 17:01   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Не знаю важно ли это. У меня Delphi XE.
Я к чему, я к тому, что, например у меня нет этого свойства
Код:
procedure TForm1.IdMessage1InitializeISO(var VTransferHeader: TTransfer;
  var VHeaderEncoding: Char; var VCharSet: String);
У меня событие выглядит так:
Код:
procedure TForm1.IdMessage1InitializeISO(var VHeaderEncoding: Char; var VCharSet: string);
begin
// VTransferHeader := bit7;    // Бит на кодирование
 VHeaderEncoding := 'B';     // Тип кодировки: Q - QuotedPrintable, B - Base64
 VCharSet := 'windows-1251'; // Кодировка - кириллица Windows
end;
К тому же свойства
Код:
IdSMTP1.AuthenticationType := atLogin;
у меня тоже нет))
Пока что письмо так и приходит с вопросами вместо русских букв.

----------------------
Ой, все! Работает!
Разобрался.
Подправил строчку:
Код:
 FileDir:=ExtractFilePath(ParamStr(0)) + 'test.html';
 TIdAttachmentFile.Create(IdMessage1.MessageParts,FileDir); //Вложение
и все заработало! И по-русски. Спасибо, Iron Mork! Если даст форум, то нажму на весы!
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 07.02.2016 в 17:07.
artemavd вне форума Ответить с цитированием
Старый 07.02.2016, 17:09   #4
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Код:
uses IdCoderHeader
Iron Monk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при отправке письма moshkin_ura PHP 2 20.10.2012 14:55
Потеря части данных при отправке через TSocket Crystallon Работа с сетью в Delphi 7 02.10.2011 21:46
Ошибка при отправке сообщений через SMTPClient BoT_T Работа с сетью в Delphi 6 26.09.2010 17:16
Кодировка при отправке запроса Voody Работа с сетью в Delphi 4 16.12.2009 12:26