23.01.2012, 19:09 | #1 |
Участник
|
SysOutlookApplication vs smmOutlookEmail
Здравствуйте.
Перевожу систему с 3.0 на 2009 Столкнулся с несколькими местами, где в 3-ке идёт отправка сообщений, примерно так: X++: void sendMail(str subject, str text, str to, Set att) { SysOutlookMailItem mailItem; SysOutlookApplication outlook; COM com; SetIterator si = new SetIterator(att); ; outlook = new SysOutlookApplication(); #SysOutlookCOMDEF while(si.more()) { com = outlook.CreateItem(0); mailItem = new SysOutlookMailItem(com); mailItem.Subject(subject); mailItem.Attachments().Add(COMVariant::createFromStr(si.value())); mailItem.SafeSend(to); si.next(); } } X++: com outlook; com mailItem; COM com; outlook = new com("Outlook.Application"); sysOutlookNameSpace = outlook.getNamespace("MAPI"); sysOutlookNameSpace.logon(); sysOutlookMAPIFolder = sysOutlookNameSpace.getDefaultFolder(#OlDefaultFolders_olFolderCalendar); com = sysOutlookMAPIFolder.items(); mailItem = com.add(); mailItem.Subject("Тема"); mailItem.Body("Текст"); mailitem.To("Адресат"); mailItem.Send(); |
|
23.01.2012, 22:38 | #2 |
Участник
|
Я так понимаю, глубокий смысл отправки почты через Outlook в том, чтобы она уходила от имени текущего пользователя, да? Если такое требование не стоит, то зачем вам зоопарк классов отправки почты? Чем не устраивает SysMailer? В 2009-й он уже отвязан от DundasMailer'а и использует штатную виндовую библиотеку cdosys в качестве SMTP-клиента.
|
|
24.01.2012, 11:39 | #3 |
Участник
|
Система писалась не мной, поэтому на вопрос "зачем так сделано?" ответа дать не могу. Насколько я вижу, да, отправка везде идёт от имени текущего пользователя.
|
|
Теги |
outlook, ax2009 |
|
Похожие темы | ||||
Тема | Ответов | |||
как получить адрес отправителя (SysOutlookApplication)? | 9 |
|