Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Проверка достоверности адреса исходящего письма в скрипте MS Outlook

Ответить
Настройки темы
Разное - Проверка достоверности адреса исходящего письма в скрипте MS Outlook

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет чесной компании!
Вообще - то меня недавно жисть заставила заняться MS Outlook (у меня основная специализация - VisualFox), но понадобился модуль приема-отправки почты через Инет, из под Fox_а, и использование MS Outlook выглядит предпочтительно. Хотя лично мне он не сильно нравится и это ещё мягко сказано (отправленные письма доставляются в папку "Исходящие", а не "Отправленные"; при работе с почтой нужно, чтобы MS Outlook был открыт и.т.д.).
На данный момент модуль программы приема - отправки, по крайней мере в тестовом режиме работает (используется VBA), но возникла проблема проверки достоверности адреса ИСХОДЯЩИХ писем (это вроде бы должно быть ДО выполнения метода ....Send()?). Попытки поиска подходящих методов и событий Объектной модели MS Outlook в Инете ничего не дала, хотя копал долго. В Help_е русского Outlook, стоящего у меня - нет ничего (это прерогатива VBA). Help VBA под Outlook_ом - на аглицком ну и как сформулировать строку запроса?. Нашел и скачал отдельный русифицированный Help VBA (версия. 1.0.1.0, 1,65Мб) -> ни черта по объектам, методам и событиям для скриптов для Объектной модели MS Outlook. Единственный сайт на котором можно было кое-что найти по Объектной модели на русском (с контекстным поиском) - <<http://msdn.microsoft.com/ru-ru/library/ms268893.aspx>> - уже почти неделю не работает. Короче, пока - тупик. А начальство - то жаждет результата.
В общем - может ли кто - нибудь подсказать, какие методы или свойства VBA для Объектной модели надоть для проверки достоверности адреса исходящего письма использовать и в каком месте скрипта?
Было бы также неплохо получить ссылку на приличный русский справочник по описанию объектов, методов и событий для скриптов под VBA Объектной модели MS Outlook (обязательно с поиском!). Буду очень благодарен.
Е. Шапиро

Отправлено: 23:22, 16-09-2011

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Jean55:
Вообще - то меня недавно жисть заставила заняться MS Outlook (у меня основная специализация - VisualFox), но понадобился модуль приема-отправки почты через Инет, из под Fox_а, и использование MS Outlook выглядит предпочтительно. »
Возможен и иной путь. Поиск по разделу Программирование и автоматизация действий по словосочетанию CDO.Message.
Цитата Jean55:
возникла проблема проверки достоверности адреса… »
Что Вы под этим понимаете?

Отправлено: 00:50, 17-09-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нужен метод Объектной модели MS Outlook , если конечно такой метод вааще есть, который производил бы попытку доступа по указанному адресу исходящей почты, без вылета в состояние ошибки. В каком виде будет ответ (.T.,.F.,True.....), ясное дело не важно, лишь бы можно было программно считать ответ. В принципе можно было бы сделать "методом полученя по морде" - обработкой ошибки после ...Send(), но программа при отправке на заведомо несуществующий адрес выдает не ошибку, а отпраляет сообщение ко мне на почту, что я не прав. А свойство метода ....Send() всегда выдает <<.T.>> , ведь он чесно отправил письмо в папку "Исходящие".
По поводу "CDO.Message" - пока пытаюсь подогнать под себя готовые решения с объектом MAPI - они и выглядят попроще и примеров побольше (по крайней мере под Fox_ом) . Ежели не выгорит - буду копать и в "CDO.Message".
Е. Шапиро

Отправлено: 13:05, 18-09-2011 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата Jean55:
Нужен метод Объектной модели MS Outlook , если конечно такой метод вааще есть, который производил бы попытку доступа по указанному адресу исходящей почты, без вылета в состояние ошибки. В каком виде будет ответ (.T.,.F.,True.....), ясное дело не важно, лишь бы можно было программно считать ответ »
А если попробовать сначала отправить письмо этому адресату через telnet и, в зависимости от ответа сервера, либо заносить адрес в белый список и потом не проверять, либо в черный и отклонять отправку?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:53, 19-09-2011 | #4


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Насчет Тelnet (как я понял из Инета это протокол) - не знаю. Думаю переход на него простым не получится и покопаться чтобы разобраться придется изрядно. Также, как я понял черный и белый список - это фильтры адресов в почте Outlook не прокатит однозначно, проверки достоверности адреса ИСХОДЯЩИХ писем нужна для каждого конкретного мэйла только разово - далее (как вариант) в базе Fox_а в данных на этого клиента и его мэйла проставляется (автоматом) признак, что с мэйлом все в порядке и больше мэйл на этого человека не проверяется и отправка идет без проверок. В общем абсолютный стандарт для баз данных и без возни с настройкой списков Outlook.
Кстати рассылка будет немаленькой: на 120 - 150 мэйлов за раз (это не спам, а данные о налогах работников за месяц). Заодно придется наверное установить задержки между отправками, чтобы провайдер не заблокировал, как спам (надеюсь, 15 - 20 в минуту прокатит?).
Теперь о проверке достоверности адреса ИСХОДЯЩИХ писем - ежели таких объектов,методов,свойств в Outlook все-таки нет, может кто-нибудь подскажет, какие установки Outlook нужно изменить, чтобы при попытке программно отправить письмо по несуществующему адресу выходило сообщение об ошибке, а не отправлялось сообщение на мой адрес?. Или хотя-бы, как отключить эти милые сообщансы на мой мэйл.
Может есть вариант использования Win API для проверки исходящего адреса (очень жевательно бэсплатных)?.
Е. Шапиро

Отправлено: 22:40, 19-09-2011 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Jean55:
Теперь о проверке достоверности адреса ИСХОДЯЩИХ писем - ежели таких объектов,методов,свойств в Outlook все-таки нет, может кто-нибудь подскажет, какие установки Outlook нужно изменить, чтобы при попытке программно отправить письмо по несуществующему адресу выходило сообщение об ошибке, а не отправлялось сообщение на мой адрес?. Или хотя-бы, как отключить эти милые сообщансы на мой мэйл. »
Jean55, Вы никак не можете убедиться в существовании, истинности и реальности почтового ящика без отправки на него письма. И Outlook и WinAPI тут вовсе не при чём. Ответное письмо Вам может отправлять почтовый сервер, который является оконечным в разорванной цепочке при доставке письма. Если он не находит почтового ящика, на который Вы шлёте — он может ответить Вам письмом. А может — и нет (функционал может быть отключён — за это мы должны «благодарить» спамеров).

Отправлено: 00:28, 20-09-2011 | #6


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата Jean55:
Насчет Тelnet (как я понял из Инета это протокол) - не знаю. Думаю переход на него простым не получится и покопаться чтобы разобраться придется изрядно »
суть работы telnet:
telnet mailserver 25 -адрес почтового сервера, куда отправляем письмо. 25 - номер SMTP порта. Может быть также 8025.
выдается приветствие. Здороваемся командой HELO или EHLO.
Далее mail from:mail@mail.com - это от кого будет письмо
говорит sender ok.
далее самое главное-
rcpt to: rcpt@mail.com - это КОМУ письмо
и вот если тут он скажет recipient OK, это значит, что адресат существует.

Цитата Jean55:
Также, как я понял черный и белый список - это фильтры адресов в почте Outlook не прокатит однозначно »
нет, я имел в виду как раз
Цитата Jean55:
далее (как вариант) в базе Fox_а в данных на этого клиента и его мэйла проставляется (автоматом) признак, что с мэйлом все в порядке »

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:56, 20-09-2011 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Delirium:
и вот если тут он скажет recipient OK, это значит, что адресат существует. »
Насколько я понимаю, это говорит лишь о том, что адрес был корректно воспринят SMTP сервером-отправителем.

читать дальше »
Я попробовал отправить на существующий на том же сервере адрес, на существующий в ином домене адрес, на несуществующий адрес (всё — посредством telnet, Yandex ---> Yandex и Yandex ---> Mail.RU, авторизация EHLO).
И все варианты были восприняты успешно:
Цитата:
250 2.1.5 <somename@somedomain.dom> recipient ok
Естественно, на вымышленный адрес письмо не было доставлено, а пришло уведомление:
Код: Выделить весь код
Remote-MTA: dns; mxs.mail.ru
Diagnostic-Code: smtp; 550 Message was not accepted -- invalid mailbox.  Local mailbox somename…@mail.ru is unavailable: user not found
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:58, 20-09-2011 | #8


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Согласен, поторопился. Мой почтовик сразу дает отлуп с кодом 550 (Invalid mailbox). smtp.mail.ru не отправляет, пока не авторизуешься. Т.е. этот вариант отпадает.

Нарыл англоязычные решения:
1. http://www.webdigi.co.uk/blog/2009/h...ding-an-email/ (прилагается код на PHP)
2. http://my-addr.com/free-email-verifi...rify_email.php

И наконец есть онлайн сервис для проверки. Можно программно распарсить результат и на его основе решать дальше:
http://verify-email.org/

Примеры ответов сервиса:
Цитата:
Result: Bad
Description: 550 5.1.1 User unknown
и еще один подобный сервис:
http://tools.email-checker.com/ - здесь можно загрузить кучку адресов(ОДНИМ ФАЙЛОМ) и результат выгрузить в Excel, ну а дальше уже дело техники.

Все это нашел поиском - http://www.google.ru/search?hl=ru&so...3.4.5.4.2l32l0

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Последний раз редактировалось Delirium, 20-09-2011 в 08:37.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:29, 20-09-2011 | #9


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


По моему я понял свою ошибку. Она как обычно в постановке вопроса, что надоть выяснить у знающих людей....
Итак : имеется задача под Fox_ом по внесению и обработке результатов работы фирмы, в которой естественно есть список сотрудников и их данных (ФИО, специальность,адрес и т.д.). Другая фирма считает ей налоги на энтих людёв и раз в месяц сбрасывает фирме на мэйл, на всех сразу. Меня попросили, используя базу сотрудников сделать модуль рассылки налогов этим сотрудникам на их личные мэйлы. Тоесть (как простейший и основной вариант) шеф раз в месяц входит в этот модуль и жмет мышом кнопку "Разослать почту " - и усе!!!. Все должно делаться из под Fox_а. Единственное, что от него можно еще потребовать - это войти в перед этим в Инет и открыть (подвесить) Outlook. Поэтому никаких онлайн -сервисов, никаких выгрузок и обработок в Exel. Все должно быть на полном автомате. Далее - только (по необходимости)"навязчивый сервис" - вывод на экран или печать списка тех у кого не заданы мейлы (стандартно и без промблем) и СПИСКА ТЕХ У КОГО ЗАДАНЫ НЕСУЩЕСТВУЮЩИЕ мэйлы и вот в этом проблема. 99% за то, что в течение года такие мэйлы будут и это означает скандальчики, поиск ошибок и виноватых. И именно поэтому жевательно отследить эти ошибки при первом прогоне каждого мэйла.
Теперь программные вопросы:
1. Как я уже спрашивал и это важно - "какие установки Outlook нужно изменить, чтобы при попытке
программно отправить письмо по несуществующему адресу выходило сообщение об ошибке, а не
отправлялось сообщение на мой адрес?. Или хотя-бы, как отключить эти милые сообщансы на мой мэйл."
2. Объект ReportItem (см. <<http://www.askit.ru/custom/vba_office/m13/13_06_outlook_items_objects.htm>>)
создается автоматом при ошибках входа и выхода писем или только входа?. И ежели он работает и на
исходящей почте то дайте, пожалуйста пример его использования (я их просто не нашел). С его
использованием тоже возможны проблемы, т.к. вначале проиходит отправка почты в папку "Исходящие", и
только там может возникнуть ошибка при отправке. И как ее дождаться под Fox_ом - пока не знаю.
3. Использование иных языков из под Fox_а (PHP, С, Delfi) как я понимаю возможно, но все-равно нужны
знания и навыки, а также переделка и интерпретация под Fox. А это дополнительные (и немалые)
проблемы. Поэтому крайне желательно использование VBA c Объектной моделью Outlook - там все проще и
более-менее интуитивно понятно, по крайней мере для меня.

P.S. Кстати, лазя по указанным Вами сайтам нашел интересную .ехе утилитку Email Tester - проверяющую
заданный адрес, с использованием командной строки, но, увы - результат проверки отсылается на
проверяемый адрес. А может кто- нибудь знает чевой-то подобное с ответом по месту запуска?
Все равно всем спасибо за советы.
Е.Шапиро

Отправлено: 21:54, 20-09-2011 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Проверка достоверности адреса исходящего письма в скрипте MS Outlook

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Проверка отправки письма с файлом абоненту dark-------13 Скриптовые языки администрирования Windows 1 05-05-2011 18:02
Интернет - Outlook Express не открывает письма Palomnik Microsoft Windows 2000/XP 1 14-11-2010 16:05
Проверка внешнего IP адреса Vanilla Dragon AutoIt 2 18-03-2009 18:55
Не отправляются письма из Outlook Express miikki Хочу все знать 3 22-12-2006 14:16
Outlook Express обрезает письма! grifius Хочу все знать 1 17-02-2005 07:13




 
Переход