Fun and games with mailMaker, NSMailDelivery, NSStream and SMTP
As I said in an earlier post, mailMaker is undergoing a serious rewrite.
In an attempt to move away from using clients, such as Apple Mail, to send the final e-mails it was decided to add smtp (simple mail transfer protocol) support directly to the program. That is, to give the program the ability to send the e-mails directly.
First stop was an attempt to use NSMailDelivery. However, NSMailDelivery was found not to be powerful enough (main reason is it insists on using the ‘default’ smtp server in Apple Mail and there is no way to change this behaviour!). So the attempt was abandoned as mailMaker needs to be able to control the smtp server settings.
Mac OS X 10.3 introduced a new API called NSStream. This looked more promising. However as it is a ‘low level’ API it is more problematical to use and effectively means I am having to ‘roll my own’ smtp client. What fun!
Bottom line. Looks like this is going to take longer than I thought!
(There are a number of frameworks available which could be used to add email capabilities to programs but most of these, upon inspection, really seem to be overkill for what I need.)