Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.04.2011, 22:34
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию Отправка по SMTP

Я уже запарился от тупости. Пытаюсь отправить сообщение так.
Код:
  msg := TIdMessage.Create;
  client := TIdSMTP.Create;
//  att := TIdAttachmentFile.Create(Msg.MessageParts, fName);
  with client do
  begin
    Port := 25;
    Host := SMTP_SERVER;
    AuthType := satDefault;
    Username := USER_NAME;
    Password := USER_PASSWORD;
    Connect;
  end;
  if client.Connected = false then
    goto final_;
  with msg do
  begin
    Subject := 'Tracking the person ' + Service.GetUserName + '.';
    Recipients.EMailAddresses := USER_ADDRESS;
    From.Address := FROM_ADDRESS;
    Body.Text := 'asdfdsh';
    Date := SysUtils.Date;
  end;
  try
    client.Send(Msg);
    good := true;
  except
    On E: Exception Do
    begin
      ShowMessage(E.Message);
      good := false;
    end;
  end

Но всегда выплывает "Error: Message content rejected".
Ответить с цитированием
  #2  
Старый 09.04.2011, 00:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,020
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

проверь telnet'ом. Похоже что серверу просто не нравится твое письмо.
Ответить с цитированием
  #3  
Старый 09.04.2011, 00:43
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

Всем серверам не нравится моё письмо.
Прим.: а как проверить telnet'ом?
Ответить с цитированием
  #4  
Старый 09.04.2011, 19:52
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

Пользуюсь Delphi XE, версия Indy - новейшая.
Привожу полный код модуля с вырезанными "лишними" строчками (со специально созданной почтой на рамблере, можете проверить )
Код:
unit Sending;

interface

procedure SendScreens;

implementation

uses
  IdSMTP, IdMessage, SysUtils, Windows, Dialogs, Forms;

const
  SMTP_SERVER = 'smtp.rambler.ru';
  USER_LOGIN = 'iqdddd17';
  USER_PASSWORD = 'Sidorovich';
  TO_ADDRESS = 'iqdddd@gmail.com';
  FROM_ADDRESS = 'iqdddd17@rambler.ru';
  USER_NAME = 'Иванов Иван Иванович';

procedure SendScreens;
  label final_;
  var
    client: TIdSMTP;
    msg: TIdMessage;
begin
  msg := TIdMessage.Create;
  client := TIdSMTP.Create;
  with client do
  begin
    Port := 25;
    Host := SMTP_SERVER;
    AuthType := satDefault;
    Username := USER_LOGIN;
    Password := USER_PASSWORD;
    PipeLine := true;
    Connect;
    if not Connected then
      goto final_;
  end;
  with msg do
  begin
    Body.Text := 'about';
    Subject := 'Tracking the person.';
    Recipients.EMailAddresses := TO_ADDRESS;
    From.Address := FROM_ADDRESS;
    From.Name := USER_NAME;
    Date := SysUtils.Date;
  end;
  try
    client.Send(Msg);
  except
    On E: Exception Do
    begin
      ShowMessage(E.Message);
    end;
  end;
final_:
  msg.Free;
  Client.Free;
end;

end.

Кому не сложно, подключите и проверьте.
Ответить с цитированием
  #5  
Старый 09.04.2011, 20:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,020
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

возможно, USER_LOGIN должен также содержать имя домена.
Ответить с цитированием
  #6  
Старый 09.04.2011, 20:46
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

Пробовал уже всё, что можно. Не работает.
Ответить с цитированием
  #7  
Старый 09.04.2011, 22:19
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

А вот лог общение сервера и клиента:
Цитата:
S: 220 relay1.beelinegprs.ru ESMTP Postfix
C: EHLO Роман-ПК
S: 250-relay1.beelinegprs.ru
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250 8BITMIME
C: RSET
S: 250 Ok
C: MAIL FROM: <iqdddd17@rambler.ru>
S: 250 Ok
C: RCPT TO:<iqdddd17@rambler.ru>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: .
S: 550 Error: Message content rejected
C: RSET
S: 250 Ok
C: QUIT
S: 221 Bye
Ответить с цитированием
  #8  
Старый 10.04.2011, 01:04
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

Тщетно весь вечер пытался найти ошибку в Indy. Сервер тупо не хочет принимать сообщение. Кто-нибудь, подкиньте рабочий исходник. %-)
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter