Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
16 / 16 / 10
Регистрация: 11.09.2013
Сообщений: 157
Записей в блоге: 1

Не отправляется e-mail

01.11.2014, 20:18. Показов 8003. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь отправить, что-нибудь на email из Delphi 7, до этого ранее отправлял, но старые примеры не работают, не понимаю в чём дело.

Применяются 2 компонента: IdMessage и IdSMTP
Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Smtp.Username:='LOGIN@mail.ru';
Smtp.Password:='PASSWORD';
Smtp.AuthenticationType:=atLogin; // atNone
Smtp.ASCIIFilter:=true;
MailMessage.From.Text:='LOGIN@mail.ru';
MailMessage.Subject:='TEMA E-MAIL'; // ????
MailMessage.From.Address:='LOGIN@mail.ru'; // ????? ???????????
MailMessage.Recipients.EMailAddresses:='LOGIN@mail.ru';
MailMessage.Body.Text:='TEXT EMAIL'; // ????? ?????????
 
try
  try
   SMTP.Connect;
   SMTP.Send(MailMessage);
   ShowMessage('OK!');
   except on E:Exception do
   begin
     ShowMessage('ERROR - '+E.Message +#10#9 + 'PISMO NT OTPRAVLENO');
   end;
 end;
 finally
 if SMTP.Connected
  then SMTP.Disconnect;
 end;
(Логин и Пароль - заменены словами)
При отправке - появляется ошибка.
Скажите, что тут не так или отправьте точно-работающий код.
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2014, 20:18
Ответы с готовыми решениями:

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

Информация не отправляется на e-mail
Здравствуйте. Информация переданная из js не отправляется на email. Не могу понять почему. Вот код js: ...

Не отправляется сообщение на e-mail
if ($s == mailsent){ if (isset($_POST)) { $mail = $_POST; if ($mail == '') { unset($mail);} } if (isset($_POST)) { $txet=$_POST; if...

49
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
02.11.2014, 17:24
Студворк — интернет-сервис помощи студентам
droider, привет!
Да, Yandex теперь работает через SSL.
Подобная тема тут уже обсуждалась и при соответствующих настройках все работает, но ТС слушать никого не желает - у него и так все правильно.
Я проверял на ХЕ7, порт не выставлял:
Перестала работать почта
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
02.11.2014, 17:59
Цитата Сообщение от AndHacker Посмотреть сообщение
Посмотрел, стоит 9.00.10 версия indy
Меняй версию indy на более новую и у тебя заработает почта в делфи даже семерке!
0
16 / 16 / 10
Регистрация: 11.09.2013
Сообщений: 157
Записей в блоге: 1
02.11.2014, 21:07  [ТС]
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
Меняй версию indy на более новую и у тебя заработает почта в делфи даже семерке!
NIKOLAYY, это не зависит от версии Indy, ранее всё работало.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.11.2014, 20:35
Цитата Сообщение от AndHacker Посмотреть сообщение
из Delphi 7,
Цитата Сообщение от AndHacker Посмотреть сообщение
стоит 9.00.10 версия indy
Варианта два:
1. Можно это добро в мусорку выкинуть и поставить Delphi XE 3 или старше версию, там уже Indy10 используется.
2. В Delphi7 установить Synapse и использвать его вместо Indy9.

Ибо лично мне заставить работать Indy9 с SSL не удалось, полагаю это не излечимая болезнь.

Цитата Сообщение от AndHacker Посмотреть сообщение
NIKOLAYY, это не зависит от версии Indy, ранее всё работало.
Раньше почтовые сервисы не использовали SSL.
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
03.11.2014, 20:42
Цитата Сообщение от Avazart Посмотреть сообщение
Можно это добро в мусорку выкинуть и поставить Delphi XE 3 или старше версию
об этом я тоже говорил ранее,
Оставьте Ваши Delphi 7 и переходите на новые версии
но обоих участников беседы это не устроило. Им на 7-ке подавай готовый код.

Даже готовый код для старшей версии, как оказалось, им проблематично адаптировать. Типа не работает.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
03.11.2014, 20:43
Цитата Сообщение от droider Посмотреть сообщение
но обоих участников беседы это не устроило. Им на 7-ке подавай готовый код.
Ну так хай мучаются с Synapse... он как раз видимо для таких любителей написан
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
03.11.2014, 20:59
Цитата Сообщение от Avazart Посмотреть сообщение
Раньше почтовые сервисы не использовали SSL
да, например, к Yandex я раньше обращался по 25-му порту. Проблем не было. Это видно в приведенном мной коде. Теперь и Яндекс перешел на SSL. Пришлось чуть адаптировать и все работает, как раньше.

На удивление ТС
Цитата Сообщение от AndHacker Посмотреть сообщение
до этого ранее отправлял, но старые примеры не работают, не понимаю в чём дело
могу ответить тремя буквами - SSL.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 08:12
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
begin
 with idSmtp1 do begin
Host:= 'smtp.yandex.ru';
Port:=587;
Username:='user'; 
Password:='65465456'; 
AuthType :=satDefault;
end;
 with idMessage1 do begin
CharSet :='koi8-r'; 
From.Text:='user@yandex.ru';
Subject:='Test';
From.Address:='user@yandex.ru';
Recipients.EMailAddresses:='user@yandex.ru';
Body.Text:=Memo1.Text; 
IdSMTP1.USeTLS:=utUseExplicitTLS;
idSMTP1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
end;
 
 try
  try
   idSmtp1.Connect;
   idSmtp1.Send(idMessage1);
   ShowMessage('Письмо отправлено!');
  except on E:Exception do
   begin
    ShowMessage('Статус отправки: ERROR - '+E.Message +#10#9 + 'Письмо не отправлено');
   end;
  end;
 finally
  if idSmtp1.Connected
  then idSmtp1.Disconnect;
 end;
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
04.11.2014, 09:11
Алексей1990, а эти строки
Delphi
1
2
3
From.Text:='user@yandex.ru';
From.Address:='user@yandex.ru';
Recipients.EMailAddresses:='user@yandex.ru';
кто заменять будет? Здесь Вы должны указать свой почтовый адрес! Интересно, как Вы собирались письмо отправить? В некуда...
P.S. Конечно же, вначале нужно указать свой логин и пароль.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 09:13
Цитата Сообщение от droider Посмотреть сообщение
From.Text:='user@yandex.ru'; From.Address:='user@yandex.ru'; Recipients.EMailAddresses:='user@yandex. ru';
Это я просто заменил за место своего настоящего
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
04.11.2014, 09:17
Алексей1990, SSL библиотеки у меня не запрашивались. Все стандартно, при выставлении параметров.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 09:24
Цитата Сообщение от droider Посмотреть сообщение
это настоящий адрес? Я его выставлял для примера вообще-то
Настоящий адрес eset3200@yandex.ru , а user@yandex.ru также оставил для примера на форуме. IdSSLIOHandlerSocketOpenSSL1 выставил 587 порт и idSmtp1 тоже порт 587
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
04.11.2014, 09:27
Алексей1990, порт можно выставить только у idSMTP. Я его выставил программно, а остальные параметры настроил в инспекторе.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 09:40
вот что у меня настоено
0
Эксперт Pascal/Delphi
 Аватар для droider
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
04.11.2014, 09:47
По ошибке 3-го скрина. В свойстве IOHandler компонента idSMTP1 выставляем IdSSLIOHandlerSocketOpenSSL1.
Написал же ранее.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 09:53
Цитата Сообщение от droider Посмотреть сообщение
В свойстве IOHandler компонента idSMTP1 выставляем IdSSLIOHandlerSocketOpenSSL1
когда выставляю то появляется ошибка
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.11.2014, 10:38
Длл-ки скопировать в папку.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 10:41
Цитата Сообщение от Avazart Посмотреть сообщение
Длл-ки скопировать в папку.
они там
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.11.2014, 10:43
Цитата Сообщение от Алексей1990 Посмотреть сообщение
они там
Я больше ошибке верю, которая говорит что все же не там.
0
5 / 5 / 0
Регистрация: 13.04.2013
Сообщений: 67
04.11.2014, 10:49
если эти pcrelib.dll libeay32.dll ssleay32.dll то они в папке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2014, 10:49

Не отправляется сообщение на e-mail
Ребята.. нужно научиться отправлять сообщение на e-mail через яндексовский SMTP Вот код по событию нажатия на кнопку: string...

Почему не отправляется e-mail?
Почему не отправляется сообщение? Ошибка: An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll ...

Не отправляется e-mail из программы Delphi7
Есть программа,в которой при нажатии на кнопку должно отправляться письмо. Но отправка не происходит + если нажать на кнопку нельзя закрыть...

Database Mail - не отправляется почта
Здравствуйте! MS SQL2017 Не могу отправить почту с помощью DatabaseMail. Не отправляются и тестовые сообщения. Запрос EXEC...

Не отправляется e-mail (smtp.gmail.com)
Привет всем доброго времени суток мне нужна помощь хочу отправить мило через делфи использую етот код procedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru