![]() |
|
|
#1
|
|||
|
|||
|
Я уже запарился от тупости. Пытаюсь отправить сообщение так.
Код:
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
|
|||
|
|||
|
проверь telnet'ом. Похоже что серверу просто не нравится твое письмо.
|
|
#3
|
|||
|
|||
|
Всем серверам не нравится моё письмо.
Прим.: а как проверить telnet'ом? |
|
#4
|
|||
|
|||
|
Пользуюсь 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
|
|||
|
|||
|
возможно, USER_LOGIN должен также содержать имя домена.
|
|
#6
|
|||
|
|||
|
Пробовал уже всё, что можно. Не работает.
|
|
#7
|
|||
|
|||
|
А вот лог общение сервера и клиента:
Цитата:
|
|
#8
|
|||
|
|||
|
Тщетно весь вечер пытался найти ошибку в Indy. Сервер тупо не хочет принимать сообщение. Кто-нибудь, подкиньте рабочий исходник. %-)
|