Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.12.2013, 14:30
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
Восклицание Отправка писем SMTP

Всем добрый день.
Есть проблема:
нужно отправлять письма с вложениями: приказы, документы - каждому сотруднику индивидуальное задание (типа, что он должен сделать сегодня).
Всего сотрудников ~200. Находил пример в интернете с IdSMTP - но отправка после 20 письма - возникают ошибки (сервер заблокировал работу)...

бьюсь уже неделю - ничего не получается - прошу помощи (можно в личку)

P.S. Это не СПАМ рассылка!
Ответить с цитированием
  #2  
Старый 24.12.2013, 14:40
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lkz_07
нужно отправлять письма с вложениями: приказы, документы - каждому сотруднику индивидуальное задание (типа, что он должен сделать сегодня).
Всего сотрудников ~200. Находил пример в интернете с IdSMTP - но отправка после 20 письма - возникают ошибки (сервер заблокировал работу)...
Ну так наверное действительно сервер заблокировал работу. Свяжись с администратором сервера - пусть отключит блокировку.
Ответить с цитированием
  #3  
Старый 24.12.2013, 14:53
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Ну так наверное действительно сервер заблокировал работу. Свяжись с администратором сервера - пусть отключит блокировку.

Писали-тишина...
Может что то нужно подправить в исходнике?
Ответить с цитированием
  #4  
Старый 24.12.2013, 16:01
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
По умолчанию

Сам исходный код

Код:
IdSMTP1.Port:=25;
IdSMTP1.Host := ′smtp.mail.ru′;


IdSMTP1.Connect(5000);
IdSMTP1.AuthenticationType:=atLogin; 
IdSMTP1.Username:=′delphi′; 
IdSMTP1.Password:=Password;


Msg.Subject:=′тема сообщения′; //текст темы сообщения 
Msg.From.Adress:=′delphi@mail.ru′; //указываем автора письма 


for i:=0 to StringList.Count-1 do begin

Msg.Recipients.EMailAddresses := StringList.Strings[i] ; 
//указываем адрес получателя 

Msg.Body.Text:=′текст сообщения′; //размещаем текст сообщения


if Connected=True then IdSMTP1.Send(Msg);

end;



IdSMTP1.Disconnect;
Ответить с цитированием
  #5  
Старый 24.12.2013, 16:08
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lkz_07
Сам исходный код

Код:
IdSMTP1.Port:=25;
IdSMTP1.Host := ′smtp.mail.ru′;
.....
Попробуй через другой сервер.
Ответить с цитированием
  #6  
Старый 24.12.2013, 16:11
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Попробуй через другой сервер.

Пробовал, специально создал почту на Yandexе - тоже самое...
Если делать Sleep(1000) - после отправки каждого письма, то программа висит - оотменитиь даже нельзя...
Ответить с цитированием
  #7  
Старый 24.12.2013, 16:28
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lkz_07
Пробовал, специально создал почту на Yandexе - тоже самое...
Значит на Yandexе то же самое ограничение.
Цитата:
Сообщение от lkz_07
Если делать Sleep(1000) - после отправки каждого письма, то программа висит - оотменитиь даже нельзя...
Чтобы не висела делай в отдельном потоке (thread) или же после Sleep делай "Application.ProcessMessages;" и проверяй не нажал ли пользователь кнопку прерывания.
Ответить с цитированием
  #8  
Старый 24.12.2013, 17:01
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
По умолчанию

а не знаете - сколько в среднем (на каждом почтовом сервере) за 1 минуту можно отправить писем?
Может 1 сек. будет мало?
Ответить с цитированием
  #9  
Старый 24.12.2013, 18:02
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

делал на яндексе, после почти полугода работы забанили и причем другой адрес тоже банили. Наверное бан по IP индексируется. Вылазит стандартная ошибка, сами разработчики яндекса пишут, что если у вас такая ошибка - попробуйте отослать через веб-форму, что, конечно же, неприемлимо.
Тогда я попробовал mail - по моему тоже забанили быстро (скорее всего общая база с "черными ip"). Пробовал на gmail - у них вообще самая замудреная защита от спамеров
Почитал то-се, например http://www.tallanto.com/ru/articles/18
Не помогло, но инфа полезная)

В итоге "вспомнил", что хостер сайта дает услугу почты, создал через него и, о! Чудо! работает до сих пор без проблем. Правда поначалу в спам попадало, но это быстро решилось. Плюс сделал отправку раз в 10сек, а не друг за другом

Так что советую искать хостинг с услугами мыла или искать менее "капризный" почтовый сервер
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #10  
Старый 24.12.2013, 19:32
lkz_07 lkz_07 вне форума
Новичок
 
Регистрация: 12.03.2011
Сообщения: 50
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mrak
В итоге "вспомнил", что хостер сайта дает услугу почты, создал через него и, о! Чудо! работает до сих пор без проблем. Правда поначалу в спам попадало, но это быстро решилось. Плюс сделал отправку раз в 10сек, а не друг за другом


А если тот же Mail/Yandex - пусть 10 сек. (конечно отправка 200 чел. = 33 мин.!) - будет ли работать? Чтобы не создавать почтовые серверы и т.д.....
Просто в интернете нигде не написано (на тех же почтовиках), сколько можно отправлять писем в минуту?
Ответить с цитированием
  #11  
Старый 25.12.2013, 09:09
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от lkz_07
А если тот же Mail/Yandex - пусть 10 сек. (конечно отправка 200 чел. = 33 мин.!) - будет ли работать? Чтобы не создавать почтовые серверы и т.д.....
Просто в интернете нигде не написано (на тех же почтовиках), сколько можно отправлять писем в минуту?
уже наверное не будет работать, т.к. скорее всего ваш IP в "черной" базе злостных спамеров, я ж писал. Но, в любом случае, пробуйте, тут только методом тыка... Думаю задержка в 10 сек. будет норм
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Этот пользователь сказал Спасибо Mrak за это полезное сообщение:
lkz_07 (25.12.2013)
  #12  
Старый 25.12.2013, 11:33
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Арендовать свой сервер (самый дохлый за 150р/месяц), поднять postfix и слать через него что угодно куда угодно с любыми интервалами.
Если настроить SPF, DKIM и RDNS - в спам ничего падать не будет вообще.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter