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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2016, 08:58   #1
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию Почта в Delphi

Пытаюсь отправить почту из программы.
Выдаёт ошибку 5.7.0
Подскажите в чём может быть проблема?
Текст программного кода ниже:

Код:
procedure TF_Sp_Np.SpeedButton60Click(Sender: TObject);
begin
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Host:= 'SMTP.sama.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='foodlab@samara.ru';
IdSMTP1.Password:='********';
IdSMTP1.Connect(5000);
if IdSMTP1.Connected=false
then
 begin
  FnFormInform('Результат соединения','Не подключено');
 end
else
 begin
  FnFormInform('Результат соединения','Подключено');
 end;
end;
procedure TF_Sp_Np.SpeedButton62Click(Sender: TObject);
begin
IdSMTP1.Disconnect;
end;

procedure TF_Sp_Np.SpeedButton61Click(Sender: TObject);
begin
IdMessage1.Body.Text:='123';
IdMessage1.From.Address:='foodlab@samara.ru';
IdMessage1.From.Name:='foodlab@samara.ru';
IdMessage1.Recipients.EMailAddresses:='anton@mail.ru';
IdMessage1.Subject:='456';
IdMessage1.Date:=Date;
IdSMTP1.Send(IdMessage1);
end;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 26.08.2016 в 09:37.
Антон Иванчин вне форума Ответить с цитированием
Старый 26.08.2016, 09:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

адрес SMTP сервера реально отличается от адреса домена?

Цитата:
Код:
IdSMTP1.Host:= 'SMTP.sama.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='foodlab@samara.ru';
А почтовиком (любой почтовой программой) почта отправляется нормально?
Тип аутентификации не SSL ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2016, 10:04   #3
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Тип аутентификации обычный - не SSL
Да адрес SMTP действительно отличается от Домена
Почта в Windows Live - свободно отправляется
Антон Иванчин вне форума Ответить с цитированием
Старый 26.08.2016, 10:23   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тогда ничего не скажу.

попробуйте
почитать и попробовать примеры по ссылкам:
http://programmersforum.ru/showthread.php?t=280390
http://programmersforum.ru/showthread.php?t=240682

избавляйтесь от логики - одна кнопка - установить коннект,
другая кнопка - отправить, третья - закрыть коннект.

попытайтесь сделать всё вместе в одном потоке кода:
установить коннект
отправить письмо
закрыть коннект.

если не поможет - то смотрите, какие возникают ошибки.

поставьте простенький почтовый клиент (да хоть тот же The BAT!)
не исключено, что Windows LIVE общается с почтовым сервером по другом протоколу IMAP, например).

в любом случае, выводите в лог протокол общения, смотрите, какие ошибки возникают.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2016, 12:30   #5
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

а как организовать вывод в log файл протокола общения?
Антон Иванчин вне форума Ответить с цитированием
Старый 26.08.2016, 12:52   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а к к коду ошибки текста нету?
ибо это не полный код ошибки.

возможно сервер таки требует SSL, через STARTTLS(так называемый explicit SSL).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.08.2016, 13:26   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

почитайте - Работа с электронной почтой с использованием компонентов Indy
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2016, 14:02   #8
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Я нашёл ошибку.
Вместо указанного SMTP, который кстати фигурирует почему-то в WINDOWS LIVE поставил тот что в адресе моей почты. И заработало.
Благодарю за помощь
Антон Иванчин вне форума Ответить с цитированием
Старый 29.08.2016, 10:14   #9
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Просьба помочь!
Письмо у меня теперь отправляется, только без ТЕМЫ. Подскажите - где может быть ошибка!?
Код:
 IdMessage1.CharSet := 'windows-1251';
  IdMessage1.ContentType := 'text/plain';
  IdMessage1.Body.Text:=Memo_Body_Text.Text;;
  IdMessage1.From.Address:=Edit_From_Address.Text;
  IdMessage1.From.Name:='foodlab@samara.ru';
  IdMessage1.Recipients.EMailAddresses:=Edit_Recipients_EMail.Text;
  IdMessage1.Subject:=Edit_Subject.Text;
  IdMessage1.Date:=Date;
  F_Sistema.IdSMTP1.Send(IdMessage1);
Антон Иванчин вне форума Ответить с цитированием
Старый 02.09.2016, 07:47   #10
Антон Иванчин
Пользователь
 
Регистрация: 25.08.2016
Сообщений: 20
По умолчанию

Разобрался с тем что ТЕМА сообщения не пустая, но теперь написана она АБРАКАДАБРОЙ - Фраза:"Готовность результатов испытаний продукции" - ПРЕВРАЩАЕТСЯ в "Ãîòîâíîñòü ðåçóëüòàòîâ èñïûòàíèé ïðîäóêöèè"
При этом текст письма отображается вполне корректно.
Скорее всего конечно ошибка в кодировке.
Антон Иванчин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почта jino через Delphi Тагир Помощь студентам 1 21.06.2012 04:09
Delphi - эл.почта Vaha11788 Работа с сетью в Delphi 1 23.09.2011 18:03
почта spydark91 Общие вопросы Delphi 3 25.07.2011 19:15
почта xakkkkker Работа с сетью в Delphi 1 20.11.2008 14:52