Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка домена при отправке почты / 10 сообщений из 10, страница 1 из 1
17.10.2013, 17:50
    #38431696
Sky1992
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Добрый день.
Руководство "попросило" реализовать в проекте отправку почты. В принципе проблем с этим нет-всё отправляется и все как бы рады, при отправке используются адреса из БД(т.е. на 100% правильные) и еще можно самому ввести адрес, НО - есть проблемы с доменами.
Пользователь может отправить письмо на почту 111@yande x .ru-оно дойдет и все счастливы, а может отправить на адрес 111@yande ks .ru(описался пользователь при вводе к примеру)-и никто об этом письме не узнает.
Так вот вопрос-есть-ли способ отследить доставлено письмо или нет? Какой-нибудь отклик от почты получателя или что-то в этом роде, чтобы сразу же в программе всплывало окошко с текстом типо "Письмо доставлено" или "Fail"?
Домены могут быть разные-@aaa,@bbb и так далее, поэтому вариант с занесением доменов в таблицу БД или в переменную в проект с дальнейшей проверкой не подходит.
...
Рейтинг: 0 / 0
17.10.2013, 17:58
    #38431719
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Sky1992,

... а как у вас реализована отправка? .. обычно SMTP-сервер, через которого посылается письмо, дает в случае несуществующего домена примерно следующее сообщение

Код: html
1.
status=bounced (Host or domain name not found. Name service error for name=tyndyrtyndyr.kiev.ua type=A Host not found)
...
Рейтинг: 0 / 0
17.10.2013, 18:06
    #38431732
Sky1992
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
carrotik,
реализовано так
От кого:111@yandex.ru
Кому:111@ааа.bb
Ответить:222@ccc.vv

проблема в том, что письма отправляются с почты админов, и ответ этот приходит нам, а не пользователю, т.к. для отправки нужен логин и пароль, а эти данные по всем пользователям нам никто не предоставит-поэтому приняли рецение использовать свою почту. Если покажите другой пример без использования пароля только по логину, то буду очень рад, но пока его нет очень буду рад примеру-как уведомить пользователя, что его письмо не отправлено-что-нибудь кроме звонка или письма от нас.
...
Рейтинг: 0 / 0
17.10.2013, 18:12
    #38431747
Sky1992
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Уточнение-работаю на vb.net, но буду рад примерам из C(если возможно будет в них разобраться)
...
Рейтинг: 0 / 0
17.10.2013, 18:18
    #38431752
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Sky1992,

... когда я спрашивал, как реализовано, я имел в виду: используется SmtpClient? и через какой сервер - Яндекс? ... если так - то никак (вероятно) :) ... Клиент пересылает сообщение SMTP-серверу, а тот пытается доставить письмо, и при невозможности - пишет себе в лог и отправляет письмо отправителю - т.е. вам "админам" ... Если нет доступа к логам сервера - клиенту никто ничего не скажет...
...
Рейтинг: 0 / 0
17.10.2013, 18:27
    #38431775
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Sky1992,

...хотя, можно же ПЕРЕД отправкой письма проверять верность имени домена через Dns.GetHostEntry, например ...
http://msdn.microsoft.com/en-us/library/ms143998.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

..но это ничего не гарантирует ... в сети есть и mail.ru, и meil.ru, и mall.ru ...
...
Рейтинг: 0 / 0
17.10.2013, 18:30
    #38431780
Sky1992
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
carrotik,
хорошо, тогда возможно-ли как-то переделать следующий код, чтобы не надо было указывать пароль?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
With Client
            .EnableSsl = False
            .Host = "smtp.222.ru"
            .Credentials = New Net.NetworkCredential("111", "abcd")
        End With
        With Mail
             .Subject = Me.TextBox3.Text
            .Body = Me.RichTextBox1.Text
            .From = New MailAddress("111@222.ru")
            .To.Add(Me.TextBox2.Text)
            .ReplyTo = New MailAddress(User)
                Client.Send(Mail)
End With
...
Рейтинг: 0 / 0
17.10.2013, 19:12
    #38431839
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Sky1992carrotik,
хорошо, тогда возможно-ли как-то переделать следующий код, чтобы не надо было указывать пароль?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
With Client
            .EnableSsl = False
            .Host = "smtp.222.ru"
            .Credentials = New Net.NetworkCredential("111", "abcd")
        End With
        With Mail
             .Subject = Me.TextBox3.Text
            .Body = Me.RichTextBox1.Text
            .From = New MailAddress("111@222.ru")
            .To.Add(Me.TextBox2.Text)
            .ReplyTo = New MailAddress(User)
                Client.Send(Mail)
End With



...для этого на SMTP-сервере должна быть выключена (disabled) SMTP Authentication ...
...
Рейтинг: 0 / 0
17.10.2013, 19:17
    #38431843
Sky1992
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
carrotik,
ммм, следовательно никак в нашем случае=(
но все равно, спасибо за помощь=)
...
Рейтинг: 0 / 0
17.10.2013, 20:45
    #38431927
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка домена при отправке почты
Рекомендую https://postmarkapp.com . Он умеет уведомлять при ошибках доставки.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка домена при отправке почты / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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