Win 7 x64, delphi 7, indy 10, провайдер beeline (USB модем).
Код аналогичный. Ошибка - syntactically invalid ehlo argument(s) при отправке, но соединение устанавливает по строке, для проверки,
Код:
try
showmessage('Подключено');
IdSMTP1.Send(IdMessage1);
Примерно понятно, что не IdMessage1 не содержит каких-то параметров
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase,
IdSMTP, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
IdMessage1: TIdMessage;
IdSMTP1:TIdSMTP;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
IdSMTP1.Host:='smtp.mail.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='*****@mail.ru';
IdSMTP1.Password:='Project1';
// IdSMTP1.AuthType:=satDefault;
with IdMessage1 do
begin
Body.Assign(Memo1.Lines);
From.Text := '******@mail.ru';
Recipients.EMailAddresses := '******@mail.ru';
Subject := 'Hello';
ContentType:='text/html; charset=windows-1251';
ContentTransferEncoding:='8bit';
end;
IdSMTP1.Connect;
try
showmessage('Ïîäêëþ÷åíî');
IdSMTP1.Send(IdMessage1);
finally
IdSMTP1.Disconnect;
end;
end;
end.
Отправляю от себя - себе, менял порты, пробовал разные почтовые сервисы, авторизацию - без пользы. После сообщения о ошибке выкидывает в процедуру компонента
Код:
procedure TIdTCPConnection.RaiseExceptionForLastCmdResult;
begin
LastCmdResult.RaiseReplyError;
end;
Может indy 10 имеет ошибку в исходниках ?
Кому-то помогла смена имени компа на англ. буквы, но у меня изначально англ. имя компа.