powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не работает отправка писем
11 сообщений из 11, страница 1 из 1
Не работает отправка писем
    #39210270
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Может кто-то сталкивался со следующей ситуацией:
Есть стандартный рабочий код, который отправляет письмо
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 '''''отправляем письмо
            Dim smtpclient As New SmtpClient
            With (smtpclient)
                .Host = "111.11.1.1"
                .Port = 25
                .EnableSsl = False
                .Credentials = New NetworkCredential("no_reply@mail.ru", "11111")
            End With

            Try
                smtpclient.Send("no_reply@mail.ru", "reply@mail.ru", "Тема", "Тестовое_3_письмо")
            Catch ex As Exception
                MsgBox("Сообщение не отправлено")
            End Try



Проблема в том, что если пройти весь код пошагово (через F11), то код выполняется нормально- письма уходят, а если запустить проект (через F5), или скомпилировать проект и запустить- то сообщения не отправляются. Нашел на форумах одну версию, что сборщик мусора отрабатывает быстрее чем отправка письма, но это не помогает. Чем можно вылечить это?
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210349
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
DoEvents не пробовали после Send поставить?

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210425
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub, это защита он недоспамеров на почтовом сервере/сервере вашей компании?
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210576
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vb_subЧем можно вылечить это?
Фиг знает, но попробуйте сначала сформировать Mail, а потом сделать ему smtpclient.Send. У меня с таким подходом проблем нет.


Так же у меня сомнения насчет строки

.Credentials = New NetworkCredential("no_reply@mail.ru", "11111")

Она нужна? Обычно для SMTP достаточно доменной аутентификации по умолчанию
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210696
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,
тестовые ящики
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210721
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
что за хост такой? 111.11.1.1
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210769
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
выдуманный хост для форума- проблема не в нем.
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210800
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, пробовал через mail- тоже ничего. Попробую через другие сервера отсылать письма.
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210805
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,
Смотри детали Exception!
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210809
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
exception нет- программа отрабатывает до конца корректно.
...
Рейтинг: 0 / 0
Не работает отправка писем
    #39210886
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел следующий костыль- отправка через порт:
Код: vbnet
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.
            Dim oMsg As CDO.Message = New CDO.Message()
            Dim iConfg As CDO.Configuration
            Dim oFields As ADODB.Fields
            Dim oField As ADODB.Field

            iConfg = oMsg.Configuration
            oFields = iConfg.Fields

            oField = oFields("http://schemas.microsoft.com/cdo/configuration/sendusing")
            oField.Value = CDO.CdoSendUsing.cdoSendUsingPort

            ' TODO: Replace with the port that you want to use . It must be the same
            ' port that the SMTP server is using.
            oField = oFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
            oField.Value = 25

            ' TODO: Replace with your SMTP server.
            oField = oFields("http://schemas.microsoft.com/cdo/configuration/smtpserver")
            oField.Value = "111.11.1.1"

            oFields.Update()
            oMsg.Configuration = iConfg

            oMsg.TextBody = "Test message body."
            oMsg.Subject = "Test SMTP Message Send using port"
            oMsg.From = "no_reply@mail.ru"
            oMsg.To = "reply@mail.ru"

            oMsg.Send()

            oMsg = Nothing
            iConfg = Nothing
            oFields = Nothing
            oField = Nothing



Работает 100%, причем обнаружена следующая особенность- если перед этим костылем попытаться отослать письмо через
Код: vbnet
1.
smtpclient.Send

, то отрабатывает сразу 2 отправки- то есть если
1)только smtpclient- не работает
2)CDO.Message - работает
3)smtpclient+CDO.Message работает сразу 2 отправщика. Может кому-то пригодится.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не работает отправка писем
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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