This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Can I use VB code to send email in Thunderbird?

  • 1 reply
  • 0 have this problem
  • 10 views
  • Last reply by Matt

more options

I recently changed from Outlook to Thunderbird. A task manager application that I wrote for my own use a few years ago uses the following code to automate sending periodic email reminders. The code looks like the sample below, except that I load the actual values for subject / to / message / body from a table.

o = createobject("outlook.application") oitem=o.createitem(0) oitem.subject = "Email Test" oitem.to = "TestEmailAddress@test.com" m.message = "Test message" oitem.body = "Body of test message" oitem.send o=.null.

Is there code snippet I can use to send email via Thunderbird?

Thanks.

- Dean Lesner
I recently changed from Outlook to Thunderbird. A task manager application that I wrote for my own use a few years ago uses the following code to automate sending periodic email reminders. The code looks like the sample below, except that I load the actual values for subject / to / message / body from a table. ************************************* o = createobject("outlook.application") oitem=o.createitem(0) oitem.subject = "Email Test" oitem.to = "TestEmailAddress@test.com" m.message = "Test message" oitem.body = "Body of test message" oitem.send o=.null. ************************************* Is there code snippet I can use to send email via Thunderbird? Thanks. - Dean Lesner

All Replies (1)

more options

The issue is you no longer have an outlook.application.

Thunderbird does not automate easily, you can use MAPI to compose and prepare the message. You can also use the mailTo: protocol to do the same thing. It is getting the send part that has always stopped me. Thunderbird does not appear to have a send function that can be addressed via an API. It is good from a security point of view as you don't get malware just churning out SPAM using the mail client, unless someone click the send button. Bad for casual users of mail send code. Although direct SMTP delivery is really not that onerous.

It is easier in my opinion to use an SMTP library to send the mail directly to the outgoing server. If you use an outlook or Gmail outgoing server then the associated IMAP account will synchronize the sent mail back to the appropriate Thunderbird sent folder so you have a local record.

See https://learn.microsoft.com/en-us/dotnet/api/system.net.mail.smtpclient?view=net-7.0 which links to a preferred library rather than the internal functions.