Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Не отправляется E-mail, в чём проблема?


Автор: Janger 16.11.2013, 11:08
Код

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
try
IdSMTP1.AuthType:=satSASL;
IdSMTP1.Host:='smtp.mail.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='neronovtf@mail.ru';
IdSMTP1.Password:='********';  //мой пароль
IdSMTP1.Connect;
except
on e:Exception do
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
msg:TIdMessage;
begin
try
msg:=TIdMessage.Create(nil);
msg.Body.Add('Я текст сообщения, которое отсылается');
msg.Subject:='Привет тебе друг мой';
msg.From.Address:='neronovtf@mail.ru';  //отправитель
msg.From.Name:='Andrey';
msg.Recipients.EMailAddresses:='neronov1991@gmail.com';      //получатель
msg.IsEncoded:=True;
if IdSMTP1.Connected=True then
begin
IdSMTP1.Send(msg);
end;
msg.Free;
except
on e:Exception do
begin
msg.Free;
IdSMTP1.Disconnect;
end;
end;
ShowMessage('Проверяй почту!');
end;

end.

В общем, не знаю в чём проблема, запускается всё нормально, и сообщение в последней строке выводится, тоже нормально.
Но письма на Мыло нету...
В чём, дело?

Автор: Illusion Dolphin 16.11.2013, 13:15
Цитата

Но письма на Мыло нету...
В чём, дело? 

Может быть:
1) В строке 35 возвращается False и ничего не подсоединилось? Проверки всё равно нетую
2) В строке 37 происходит ошибка авторизации т.к. не указан логин и пароль и ничего не отправляется. А так как ошибка e никуда не отображается то вы видите только сообщение что всё хорошо

Автор: Akella 17.11.2013, 22:56
"Современные" почтовые серверы не хотят работать без шифрования. Поэтому нужно почитать про настройки. Скорее всего нужно использовать вместо 25 какой-нибудь 465 + SSL или TLS.

Вот, например, http://help.mail.ru/mail-help/mailer/mt 

Цитата

Исходящая SMTP:

    Имя сервера — smtp.mail.ru;
    Порт — 465;
    SSL — SSL/TLS;
    Аутентификация — Обычный пароль.


Добавлено через 1 минуту и 34 секунды
Цитата(Janger @  16.11.2013,  11:08 Найти цитируемый пост)
Но письма на Мыло нету...


Проверь папку Спам.

тем более с таким текстом
Цитата(Janger @  16.11.2013,  11:08 Найти цитируемый пост)
msg.Body.Add('Я текст сообщения, которое отсылается');
msg.Subject:='Привет тебе друг мой';


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)