Подскажите, пожалуйста, ключевое решение - какое АПИ предпочтительнее:
Надо, чтобы приложение выполняло автоматическую рассылку по SMTP мессаг + аттачмент. Автоматически означает, что с некоторой "зашедуленностью" приложение будет просматривать некую DB RDBMS и выполнять рассылку:
1) желательно чтобы АПИ могло быть в дальнейшем использовано в севрисе (NT или .NET фраймворк 2.0). Хотя и не обязательно. Можно было б планировщиком запускать. Здесь, думаю, появляется вопрос аутинтификации с использованием почтового АПИ (если это сервис).
2) желательно, чтобы это было высокоуровневое АПИ. Я предложил шефу, что напишу на сокетах (конечно, это не очень мягко говоря высокоуровневое решение). Шеф, высказал сомнение, что нужно попытаться использовами почтовое АПИ. Я соглашаюсь и с его опытом и знаниями, да и сам так думаю, что луше (быстрее и надёжнее) использовать уже готовое.
SMAPI не получается применить. Наверное я что-то неправильно делаю.... Подскажите, плз.
Во первых, отключить дурацкий диалог "Внешняя программа пытается отправить от вашего имени почтовое сообщение. OK? Cancel?" получется только для OutLook Express на закладке параметров Security. Это никак ни эффект MS OutLook. Поэтому, получается, что там где будет стоять эта программа - там должен быть установлен почтовым клиентом "по умолчанию" OutLook Express. Это есть сильное навязывание пользователю, что и как у него должно установлено.
Во-вторых, даже для OutLook Express ( при спользовании SMAPI ) появляется второй, не менее дурацкий диалог, который показывает прогресс отсылки сообщения. Если АПИ неизбежно рождает всякие диалоги, и некому нажимать кнопки Ok/Cancel, то возникает опасение, что такое приложение можно будет использовать для автоматической рассылки.
Какое АПИ на ваш взгляд лучше использовать в таких задачах?
Спасибо.
Ред. Забыл сказать - платформа Виндовз
Рассылка почты SMTP
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
- Ranger
- Маньяк
- Сообщения: 1199
- Зарегистрирован: 22 окт 2003, 18:28
- Откуда: 2:5025 -> Burnaby
1. Во-первых, платформа - дотнет? Тогда я бы попробовал через него:
http://forums.microsoft.com/msdn/showpo ... 1&siteid=1
2. Если не дотнет и только слать надо, то можно все руками написать:
http://www.codeproject.com/csharp/sendmailcsharp.asp
3. Если не хочешь руками и не хочешь дотнет, а хочешь Simple MAPI, то you're in for a ride
Оно, это API, вроде и простое, как двери, но натрахаться с ним можно по самые ого-го. Been there.
Теперь по существу вопроса - насколько я помню, для работы с Simple MAPI сам Outlook Express не нужен - рудиментарная smapi32.dll (или как там ее по-батюшке? не помню) идет с суксем (aka Windoze) по-умолчанию. Не то с самим суксем, не то с браузером - помню, были какие-то вилы насчет совместимости SMAPI либ от M$ и от Нетшкафа. Какая-то мелкая багофича, подробностей уже не помню - зело давно было. Или не браузера, а мыльного клиента? Ничего не помню. Может, уже исправили. Впрочем, простые письмена эта DLL слать умеет и более чем. Аутглюк же при установке просто меняет ее на свою.
Насчет диалога - проверь внимательно. Зуб даю, там есть параметр "не показывать диалог". Если ты его выставляешь в 0, а Аутглюк на этот параметр кладет - тогда ничего сделать нельзя (All hail Bill Gates!). Впрочем, раньше, насколько я помню, всё замечательно работало. Прочекай.
В свое время, я написал весь из себя обьектно-ориентированный компонент на VC++ с ATL, который предоставлял все фичи Simple MAPI и довольно успешно справлялся со всеми вышеизложенными особенностями. Если поискать, могу и код найти.
Удачи
http://forums.microsoft.com/msdn/showpo ... 1&siteid=1
2. Если не дотнет и только слать надо, то можно все руками написать:
http://www.codeproject.com/csharp/sendmailcsharp.asp
3. Если не хочешь руками и не хочешь дотнет, а хочешь Simple MAPI, то you're in for a ride

Теперь по существу вопроса - насколько я помню, для работы с Simple MAPI сам Outlook Express не нужен - рудиментарная smapi32.dll (или как там ее по-батюшке? не помню) идет с суксем (aka Windoze) по-умолчанию. Не то с самим суксем, не то с браузером - помню, были какие-то вилы насчет совместимости SMAPI либ от M$ и от Нетшкафа. Какая-то мелкая багофича, подробностей уже не помню - зело давно было. Или не браузера, а мыльного клиента? Ничего не помню. Может, уже исправили. Впрочем, простые письмена эта DLL слать умеет и более чем. Аутглюк же при установке просто меняет ее на свою.
Насчет диалога - проверь внимательно. Зуб даю, там есть параметр "не показывать диалог". Если ты его выставляешь в 0, а Аутглюк на этот параметр кладет - тогда ничего сделать нельзя (All hail Bill Gates!). Впрочем, раньше, насколько я помню, всё замечательно работало. Прочекай.
В свое время, я написал весь из себя обьектно-ориентированный компонент на VC++ с ATL, который предоставлял все фичи Simple MAPI и довольно успешно справлялся со всеми вышеизложенными особенностями. Если поискать, могу и код найти.
Удачи

- Ranger
- Маньяк
- Сообщения: 1199
- Зарегистрирован: 22 окт 2003, 18:28
- Откуда: 2:5025 -> Burnaby
Кстати, да! Когда я с этой петрушкой возился (это было примерно миллион лет до нашей эры), CDO поставлялся исключительно с M$ Outlook (не Экспресс!), а теперь (сос слов гугля) он вроде идет в обычной стандартной поставке Win2K и XP.Yury писал(а):я для подобной цели использовал CDO
Подробности тут:
http://www.aspfaq.com/show.asp?id=2026
Но если тебе надо, чтобы твоя бодяга шла под WinMe с нифига (без Outlook) - этот фокус не получится.
- CdR
- Графоман
- Сообщения: 11245
- Зарегистрирован: 11 окт 2004, 19:27
- Откуда: Европа, центр, за углом направо.
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
- CdR
- Графоман
- Сообщения: 11245
- Зарегистрирован: 11 окт 2004, 19:27
- Откуда: Европа, центр, за углом направо.
Да собственно он и не нужен, если вопрос только об отсылке стоит. Есть много менее перегруженных фичами реализаций.Yury писал(а):ну нету в виндах сендмыла родного
"автоматическую рассылку по SMTP мессаг + аттачмент" можно тупо на shell организовать за 5 минут. Это настолько базовая функциональность, которая просто MUST HAVE элементарно реализуемой.
Меня впечатлило количество граблей которые надо обходить.
Нельзя соответствующим образом настроить права, чтобы хотя бы такой глупости как "выскакивающие" диалоги не было?
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
наверное все можно, через те же полиси, возможноCdR писал(а):Да собственно он и не нужен, если вопрос только об отсылке стоит. Есть много менее перегруженных фичами реализаций.Yury писал(а):ну нету в виндах сендмыла родного
"автоматическую рассылку по SMTP мессаг + аттачмент" можно тупо на shell организовать за 5 минут. Это настолько базовая функциональность, которая просто MUST HAVE элементарно реализуемой.
Меня впечатлило количество граблей которые надо обходить.
Нельзя соответствующим образом настроить права, чтобы хотя бы такой глупости как "выскакивающие" диалоги не было?
у меня на сдо ничего и не вылазило
и вся реализация - надцать строчек жава-скрипта
(про сам CDO скромно промолчу)
- CdR
- Графоман
- Сообщения: 11245
- Зарегистрирован: 11 окт 2004, 19:27
- Откуда: Европа, центр, за углом направо.
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Чего то вы наворотили
От пример на басике, на сях или шарпе анологично....
Private email As Mail.MailMessage = New Mail.MailMessage()
email.To = "qq@kgb.ru" '"qq@qq.qq;qq@dot.net"
email.BodyFormat = Mail.MailFormat.Text
email.From = "vancouver@kgb.ca"
email.Cc = "putin@kreml.ru"
email.Bcc = "bush@whtehouse.us"
email.Subject = "Macdonalds rulez"
Dim attachment As Mail.MailAttachment
attachment = New Mail.MailAttachment("BigMak.jpg")
email.Attachments.Add(attachment)
Mail.SmtpMail.SmtpServer = "127.0.0.1"
Mail.SmtpMail.Send(email)
Private email As Mail.MailMessage = New Mail.MailMessage()
email.To = "qq@kgb.ru" '"qq@qq.qq;qq@dot.net"
email.BodyFormat = Mail.MailFormat.Text
email.From = "vancouver@kgb.ca"
email.Cc = "putin@kreml.ru"
email.Bcc = "bush@whtehouse.us"
email.Subject = "Macdonalds rulez"
Dim attachment As Mail.MailAttachment
attachment = New Mail.MailAttachment("BigMak.jpg")
email.Attachments.Add(attachment)
Mail.SmtpMail.SmtpServer = "127.0.0.1"
Mail.SmtpMail.Send(email)