| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Отправка E-Mail |
| Автор: Vex 13.11.2002, 08:01 | ||
Пример отправки письма через COM Interface Outlook не работает, т.к. нет Outlook_TLB - где его можно достать? И можно ли так отправлять письмо, если Аутлуку неизвестен SMTP сервер? (пример взял из фака)
|
| Автор: Vit 13.11.2002, 08:06 | ||||
Outlook_TLB получается путём экспортирования COM интерфейсов Outlook.exe. Main Menu -> Project -> Import Type Library -> Add -> найти файл Outlook.exe -> Create Unit Именно этот файл и будет создан.
Нет, сам outlook ничего не отправляет, он "засовывает" письма в SMTP сервер, а реально их отправляет SMTP сервер. |
| Автор: Vex 13.11.2002, 08:19 | ||
Тогда вариант с Outlook отпадает. А если использовать SMTP (как в FAQ), то он будет отправляться непосредственно на сервер получателя? можно ли этот метод использовать на Dial-Up? (глупый наверное вопрос |
| Автор: Vit 13.11.2002, 08:20 |
| Нет, SMTP тоже не отсылает письмо на сервер получателя, на сервер отправителя. |
| Автор: Vit 13.11.2002, 08:23 |
| Предвижу вопрос: "а как тогда отослать?" Вот я уже отвечал - http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=3;t=4274 Я писал такую программу, сразу скажу: по хорошему, без настройки производительности, многопоточности и т.п. писать её минимум месяц... В общем работа ещё та! |
| Автор: Vex 13.11.2002, 08:41 |
| Вопрос угадан, и спасибо за полученый ответ! Скоро так до телепатии дойдем А есть что-то типа шаровых SMTP серверов, можно же их указать? |
| Автор: Vit 13.11.2002, 09:53 |
| Да, конечно. Попробуй разные email сервисы - возможно что есть те, которые разрешают обращение через SMTP. Вот еmail которые я знаю - проверь, дают ли они SMTP доступ: www.yahoo.com, www.mail.ru, www.lenta.ru, www.hotmail.com, www.operamail.com, www.pisem.net
|
| Автор: Vit 13.11.2002, 10:08 | ||
Кстати, забыл сказать, вообще-то это смотря для чего пишешь. Если рассылать письма только для себя - например обратная связь с автором программы - то может это не так страшно. Собственно не проблема в том чтобы это написать - там как раз всё ясно, проблема заставить работать программу в 100% случаев - вот примеры тех проблем которые встречались у меня и моего друга (теперь он дорабатывает этот проект): 1) Отсылка в многопоточном режиме 2) Отложенная отсылка, так как ты связываешься с конечным пользователем то могут быть проблемы - у него сервер сейчас занят, перезагружается, линия барахлит и т.п. Настоящие SMTP сервера делают до нескольких сотен попыток переслать письмо в течение суток (иногда больше) - следовательно нужен буффер, некоторая очередь и т.п. 3) DNS сервер не работает, барахлит, даёт устаревшие сведения, поменял свой адрес и т.п. 4) Прервалась связь с интернетом - диагностика, обработка ошибок и т.п. 5) Разный софт серверов получателей имеет некоторые различия в форматах запросов (собственно стандартам RFC строго не следует ни один), иногда у некоторых клиентов наредкость дегенеративный самопальный софт и нам даже приходилось звонить их сисадминам и выяснять какого... их сервер не хочет принимать наши письма 6) У клиентов срабатывают различные антивирусные и антиспамерские фильтры 7) NT убивает программу по совершенно не понятной причине 8) Настройка производительности, timeout, размеров очередей, количество потоков, количества попыток и т.д. и т.п. Если ты пишешь программу которая должна изредка послать письмо по одному и тому же адресу, то ты с этими проблемами не сталкнёшься и написать ее не так сложно. |