I have an issue here where we need to control outlook from Embarcadero Delphi 2010.
we used today some thirdparty components for opening the mail sending window, this worked some timeago. but now it seem to fail on newer outlook versions.
are there any component out there dedicated to controlling outlook from Delphi, or are there any MAPI clients that can work as a better replacement for this.
what we need to do basically is to:
1. Start new message in outlook (sending recipient as parameter)
2. receive the sent message so we can store it
3. drag and drop messages from outlook to our application.
if the enduser do not use outlook, a normal MAPI would suffice as replacement.
where do I find a good robust component for doing such job for me ?
For the first two steps regular OLE automation using the Outlook2000.pas unit that comes bundled with Delphi should work fine though you might want to take a look at Dmitry Streblechenko's Redemption library: http://dimastr.com/redemption/ which simplifies many of the more low-level (Extended-)MAPI tasks significantly.
For intercepting the sent message you should create an instance of TItems and connect it to the folder reference you could get from OutlookApplication.Session.GetDefaultFolder(olFolderSentMail). You can then assign an event handler to its OnItemAdd event.
For drag & drop from Outlook into your application you can take a look at Anders Melanders excellent (and free) Drag&Drop library (includes examples for interacting with Outlook): http://melander.dk/delphi/dragdrop/
I've used these components a long time ago and they were fantastic
http://www.add-in-express.com/add-in-delphi/
Here are some features for Outlook
http://www.add-in-express.com/add-in-delphi/programming-outlook.php
Related
What free Delphi component can you recommend for reading an email and an attachment?
I mean reading an email from pop3 server.
I use Delphi 7.
Thank you.
I'd start by trying Indy's TIdPop3 component. I think it's shipped as standard with most Delphi versions.
Try Synapse from Lukas Gebauer. Actually it's not a component, it's just a set of units, which you simply add to your uses list. It's simple, stable and verified by many users.
Check these links ...
Synapse - download pageSynapse - tutorials pageSynapse - POP3 simple example
I am writing an application that needs to read a data field on another Delphi program and I do not have access to the source code of the 3rd party program. The data field contains the "foreign key" to a record I need to retrieve or create in my application.
I would appreciate any links to knowledge or components that will help me with my program.
I'm assuming that you are trying to "screen scrape" a text field from another app. You can use FindWindow to get a handle that that window, then dig through the child windows to find the control that you're looking for (WinDowse by Greatis will be very helpful here for exploring manually). Finally, send a WM_GetText message to the control that has the data. Here is an example of how to do this: About.Com article on digging and scraping with Internet Explorer.
Edit: D'oh! WM_GetText is already wrapped in the VCL with the GetWindowText function defined in windows.pas. ex:
GetWindowText(Wnd, PC, sizeof(PC));
So like many online companies, we send e-mail advertisements. Outlook 2007 has some quirky HTML rules so things that look fine in any browser, when sent to Outlook 2007, look horrific.
Is there a program where I can preview what the HTML would look like in Outlook 2007?
You are not alone ;-) What I do is try sending the email to me (alone) and then see how it comes out. AFAIK there are no software which can show you the preview ;-)
Edit: Check this question which some useful which you use while sending HTML emails.
I faced the same issue because of the switch from IE to Word as the rendering engine in Outlook 2007.
So I have been using Word 2007 to preview the HTML file to see how it looks, before sending it to Outlook. It has so far worked fine in my case. Try it and let us know if it works for all your cases.
Hello sendning Mass Mails throw Outlook isnt a good idea.
There are Many Opensource Massmailer Try http://sourceforge.net/projects/tellmatic/
And a preview option isnt aviable for html files nor other things in outlook no matter which version 2003 or 2007 or 2010.
Ive had exactly this same issue.
What i had to do is download outlook 2007 to sort this out, and then created a program to send myself emails to test.
Alternatively you can use this site to send emails to any email address:
http://ctrlq.org/html-mail/
Old thread i know, but i think my answer can help anyone that stumbles across this question much as i did.
I'm using Delphi 2007 and I am looking for some resources and best practices for writing an ActiveX control for embedding within Internet Explorer 7.0 (and higher).
My goal with this ActiveX control is to be able to retrieve information about which websites the user is visiting, and the type of connection (e.g. HTTPS, HTTP, FTP, etc). I'm not looking to sniff traffic, just for reviewing the addresses they are visiting.
Or, if it would be easier, I would ideally like to write a toolbar similar to AVG Anti-Virus' free toolbar that it installs in IE that "verifies" links on pages as safe links. If you have any suggestions, please let me know.
Regards.
If you create a new project, you can choose several options, one of them is an ActiveX control.
I have done that in the past (delphi 7) and used it on a web page without problems.
I have a rails application running on a Linux server. I would like to interact with Outlook/Exchange 2003 appointments from the rails application. For example, certain actions should trigger sending an appointment, and then preferably accepting/canceling the appointment in Outlook should trigger events in the application.
Failing this, is it possible to publish calendars that Outlook 2003 can read without requiring Outlook plugins? I note that Outlook 2003 does not support ical without plugins for example. Similarly, if this is not easily doable in Ruby, but is in another language (such as Perl for example) running on Linux then those suggestions would be welcome.
Any advice on how to achieve this, or where to start looking for answers would be gratefully received.
Outlook appointments are just e-mails with special header information. There's some information in this tutorial on the required parts. I sent a few meeting invites from my Outlook to my Gmail account and took a look at the raw headers there - you can figure most of the protocol out from that.
The iCalendar specs may help you, as well.
Thanks for everyones help. I found something that showed me how to do this with Perl, and ported it over to ruby. I've blogged about it for those looking for a solution
If you can upgrade to Exchange 2007, you can use Exchange Web Services that is more powerful and convenient to use than WebDAV.
At work, I inherited a Rails app that allow users to create single appointments. I was asked to write code to link those appointments in the app to users' outlook calendars, so that they are always in sync. Sounds to me very similar to what you want to do.
I don't think I'm allowed to publish the exact code I wrote though. Anyway I'll give you a bit idea on how I addressed it.
Exchange Web Services only provide API in C# (no surprise, it's Microsoft. Technically, you can use other languages since it's actually SOAP.). I wrote a middleware in C# that does the sync between Exchange server and the Rails app. When users do scheduling in the app, changes are sent to the middleware so changes can be reflected to their outlook calendars. Meanwhile, the middleware registers Push Notification subscriptions for all users -- every time changes are made in Outlook, the middleware will be immediately notified, which in turn faithfully reflect those changes in the app as well. Of course, recurring appointments are also supported.
Hope that helps you.
Take a look at the project RExchange on github.
For accessing appointments, you can just access the Calendar folder on Exchange using WebDav. For creating appointments, please refer to RFC2445 for details.
Further to ceejayoz's comment, you can also use ActionMailer to catch the replies that are sent back, and act on them - you'll need some form of unique id in a place that will be included in the reply though.