Batch Emailer Application for Xojo as a sample project
But here are features:
You can copy & paste a list of emails addresses with tab separated name and possible info text to the text area on the left. Than you can put in plaintext in the textarea in the middle. There is a also a tab panel to include html if you want. But I send 99% of my emails with plain text only. You can pass a subject list in the textfield on the top. The debug checkbox allows you to send email to yourself to test. The paste button allows you to paste email text with subject line as first line to the fields.
On the right you have the log listbox with messages from sending. On bottom left you can add an attachment. You also enter on the bottom the sender email addresses. As you are Xojo developers, you can enter your defaults in the Xojo IDE of course. Send button starts sending emails. The delay checkbox allows you to send emails with a delay, so you are not marked as spam sender by too many emails per minute.
The application uses the MBS CURL Plugin to build emails and send them. We use the CURLSMultiMBS class to run several CURL connections in parallel and get emails send quickly. But we also use this multi interface to prepare thousands of emails and push them as needed to be sent.
Please modify send method (and other places) to match your needs. This includes putting your name everywhere, your smtp credentials and server, your email address, the recipient for debug sending and a few other things. The email can contain %name% for the name of the recipient as well as %text% for some extra text parameter in the email recipients list.
The application writes a few log files in the app folder for emails sent including all the CURL debug output. When email sending fails, you will see we reduce the recipient lines on the left to the ones failed. Usually we than try it again to see if they go through second time.
Please try it, please modify it and let me know what you made from it!
I’ll include the example with MBS Plugins and if you have changes, I could include them.