powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с организацией почтовой рассылки.
3 сообщений из 3, страница 1 из 1
Проблема с организацией почтовой рассылки.
    #35200413
-=FlinT=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток. Заказчик программы попросил прикрутить ему возможность автоматической рассылки почты в таком виде: каждому человеку из базы шлется сообщение с одинаковым текстом и индивидуальным аттачем формата *.xml. Файлики естественно генерируются автоматически перед рассылкой.
Пожелание реализовал с помощью объекта CDO.Message. При использовании данного метода для отправки письма "по-одному" - проблем вроде бы не возникает, и то не всегда. Но стоит начать рассылать почту в цикле, после отправки писем 5-ти, 6-ти - начинают вылазить какие-то ошибки, например, "Транспорту не удалось подключиться к серверу.", было и еще что-то (это если не использовать On Error Resume Next). После таких ошибок письма уже начинают отправляться через одно и вообще лучше делать ребут. В общем система получилась какая-то фиговоработающая и нестабильная. Если кто имел дело с реализацией рассылки, прошу помощи разобраться что может так негативно влиять, может я что-то упустил в коде, может что-то еще.
Система WinXP SP2, соединение с интернетом - gsm-модем, исходящая скорость ~8Kb, аттач может весить в среднем ~10-50Kb. smtp-сервер: smtp.mail.ru. Число человек для рассылки пока колеблется в районе ~100-а чел и каждый мес. увеличивается примерно на 15-20.
Ниже привожу код:


Код: plaintext
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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
For i =  0  To UBound(Ags)
  Err.Clear
  If IsObject(objEmail) Then Set objEmail = Nothing
  Set objEmail = CreateObject("CDO.Message")
  objEmail.Configuration.Fields.Item _
  ("http://schemas.microsoft.com/cdo/configuration/sendusing") =  2 
    objEmail.Configuration.Fields.Item _
  ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "194.67.23.115"
    objEmail.Configuration.Fields.Item _
  ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =  25 
    objEmail.Configuration.Fields.Item _
  ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "bla_bla_bla@mail.ru"
    objEmail.Configuration.Fields.Item _ 
  ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
  objEmail.Configuration.Fields.Update
  strHTML = GetStr(Ags(i)) 'получаю путь к файлику, к-рый надо приаттачить к текущему письму
  If strHTML <> "" Then
    AgName = <получаем имя человека>
    objEmail.Textbody = "Текст сообщения"
    objEmail.From = "bla_bla_bla@mail.ru"
    AgMail = <получает эл. адрес человека>
    If AgMail <> "" Then
      If Valid(AgMail) Then 'проверяем корректность написания e-mail-а
        objEmail.To = AgMail
        objEmail.AddAttachment strHTML
        objEmail.Subject = "Отчет для " & AgName
        objEmail.Send
        If Err.Number <>  0  Then
          List.InsertItem "Сообщение " & i +  1  & " НЕ БЫЛО отправлено. Причина: проблемы с интернетом или с почтовым сервером."
        Else
          List.InsertItem "Сообщение " & i +  1  & " для " & AgName & " было отправлено."
        End If
      Else
        List.InsertItem "Сообщение " & i +  1  & " для " & AgName & " НЕ БЫЛО отправлено. Причина: ошибка в написании e-mail-а."
      End If
    Else
      List.InsertItem "Сообщение " & i +  1  & " для " & AgName & " НЕ БЫЛО отправлено. Причина: Не задан e-mail."
    End If
  Set File = F.GetFile(strHTML)
  File.Delete
  Else
    List.InsertItem "Сообщение " & i +  1  & " для " & AgName & " НЕ БЫЛО отправлено. Причина: Отсутствует xml-файл сообщения."
  End If
  DoEvent
Next

P.S. Прошу советов 2-х типов:
1) Если кто-то работал с программной отправкой почты и подозревает в чем может быть проблема или даже может указать на неё - было бы отлично.
2) Не откажусь от рекомендаций других способов и методов решения самого вопроса подобной рассылки. Не исключено что придется использовать сторонний софт, только я пока не нашел такой проги, к-рой, например, можно было бы подкинуть какой-нить *.txt со списком адресов и путей для аттача.

P.P.S. А в общем буду рад любым советам :) ибо заказчик уже нервничает
...
Рейтинг: 0 / 0
Проблема с организацией почтовой рассылки.
    #35200492
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=FlinT=- smtp-сервер: smtp.mail.ru.
Попробуйте поменять почтовый сервер. или купите почтовый хостинг в конце концов. Он стоит 2-3$ в месяц.
...
Рейтинг: 0 / 0
Проблема с организацией почтовой рассылки.
    #35200982
-=FlinT=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы считаете, что проблема только в этом? Я конечно посмотрю, потом отпишусь..
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с организацией почтовой рассылки.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]