Learn All About Sending & Receiving Email in Access
This seminar will teach you just about everything there is to know about sending and receiving email using Microsoft Access - with or without Microsoft Outlook. This seminar is for the intermediate to advanced Access developer.
You will learn how to send email with and without using Microsoft Outlook. You will learn how to send bulk email batches to groups of customers on set mailing lists using plain text, rich text, or HTML formatted emails. You will build a separate email server database whose job is to handle the processing of email for all of the users on your network. You will learn how to extract data (including attachments) from incoming emails using Outlook, parse the data into your Access tables, and save attachments to your hard drive.
You can download the database that is built in this class so you can test it and make sure it's right for your needs. Note that in the preview database, only the forms that send email via Outlook will work. The SMTP (non-Outlook) code will NOT work because you need to edit the source code and specify your mail server settings, username, and password. These features are only available in the FULL database (which you get a copy of when you buy the seminar). Both 32-bit and 64-bit versions of the database are provided.
You will start by learning how to send email from Access using Outlook by sending reports from your database directly to a single email.
You will learn about the SendObject and EmailDatabaseObject macro and VBA commands. We'll talk about the Outlook Security Warning and what it means.
You will learn how to create nice, formatted emails using Microsoft Word. We will use our Access data in a Word Mail Merge to send multiple emails using Outlook. You will learn about inserting pictures, hyperlinks, and more.
Next we'll build our own email form and send text email direct to Outlook without having to use a database report. You'll learn about the Outlook Application Library and how to add a reference to it in your VBA editor.
You'll learn how to send formatted, rich text and HTML messages direct to Outlook. We'll see how to upload images to a public folder on the Web so that your recipients don't have to download them in their email.
Next we'll create a separate form for sending HTML formatted emails. The concept is to create an HTML email in a web editor (or even Word, saved as HTML). Then we just copy and paste the HTML code directly into our email database and click send.
You will next learn how to send attachments as part of your emails via Outlook. We'll create ZIP files, check if a file exists, use the Common Dialog DLL to click on a "select file" button and browse for the files to attach.
Next we will see how to automatically export an Access report as a PDF file using VB code. We'll save these PDF files to a folder on your hard drive, and then use them as attachments in outgoing emails. Great for sending customer statements or invoices.
Now we'll start learning how to send bulk email using Outlook. We'll create a customer list form, select specific customers to mail to, generate a loop to cycle through each of the customers, and send email to the selected customers. I will also show you how to disable the Outlook Security Warning so you're not prompted each time you send an email. We'll send balance statements to all customers with a balance on their account over zero dollars.
Next we'll begin a series of lessons on sending email without using Outlook. We will learn how to connect directly to an SMTP mail server. You will still need an email account with an Internet provider, but this will allow you to send directly to their mail server using Access directly, without needing an intermediate program like Outlook between you. We'll learn about the Collaborative Data Object (CDO) programming library.
We will build a more robust form for sending email. You'll be able to select the format (plain, rich text, HTML), specify CC and BCC recipients, and more.
Next we will learn how to connect to Gmail to send mail using SSL (Secure Sockets Layer). We'll also learn how to send "friendly" names on our emails. You will learn how to send email attachments using this method. You will also lean how to handle errors during the transmission of the email to the server.
You will learn how to create an email based on a web page or HTML document. If you know a little bit about web editing, you'll be able to set up a web page, format it as an email (newsletter, for example) and then with a few lines of code send that out as an email, automatically.
Next we'll learn how to use Recordsets to loop through the records of our database in VBA code. This will allow us to more easily send large batches of bulk email. We'll create our own Merge Codes in our emails so you can customize them with phrases like "Dear *FIRSTNAME*" turning into "Dear Joe" when the email goes out.
We'll monitor our email statistics, so when you're sending a large batch you can see how many emails there are total, how many are left, and what the percentage of completion is.
If you're sending a large volume of emails, you may want to space them out so you don't bog your mail server down. Some ISPs also will complain if you send a ton of emails at once. I'll show you how to program a countdown timer with a delay so you can space your emails out. This will also prevent a flood of traffic on your web server if everyone responds to your email at once.
You'll probably have certain emails that you'll send on a regular basis, such as monthly newsletters, weekly balance reports, and so on. Instead of having to re-invent the wheel every time, we'll make a table/form to save our Email Templates. That way you just pick the template, select the customers, customize it a bit if you want, and then click SEND.
You'll also probably want to put customers into different mailing lists, such as your company newsletter, monthly specials, or in my case a group for my Excel students, another for my Access students, and so on. We'll set up a category system where each customer can be in one or more categories. Now all you have to do is pick the Template, pick the Category, and all of those customers get their emails, automatically.
Sending a large batch of email can take a long time. If you have 20,000 emails to send out, that can busy your system up for a few hours. It would be nice to queue up the emails and have another database send them out, right? This can even be a database sitting on another computer somewhere on your network... one that everyone on the network can use. In this lesson I'll show you how to set that up. To be clear, this "database server" will collect the emails from users and send them up to your Email account. You will still need an ISP and an email address. This database just handles all of the email transmission processing so you don't bog down your workstation PC.
Next we will learn how to read incoming emails and extract the data from them. We'll see how to loop through the emails in our Outlook inbox, collect the data from them, store that data in our Access tables, and put the data in the right fields. We'll see how to send out a User Survey via email and process the data when the users return the email with information filled in.
If you have your own web site with Microsoft (Windows) hosting, this lesson will allow you to set up a form on your web site using HTML and ASP (Active Server Pages) to collect user data. When they submit the data it will come to you via email and you can use the techniques from the previous lesson to read and parse the data.
Many people use the Attachment field type in Access databases to store files. I will show you how to extract those files to your hard drive using VBA code so that you can then use them as email attachments.
We will also discuss tracking email deliverability with delivery status notifications and read receipts. We'll talk about sending email as text messages using an SMS gateway, and we'll see how to extract attachments from incoming emails and save them to a file folder.
As you can see, if you want to be able to send and receive emails using Access, this is the perfect seminar for you. You will learn everything mentioned above. You will have access to the full database that we build in class with all of these features. If you have any question whether this seminar is right for you, please feel free to contact me.
This is a Developer-Level Seminar. There will be a lot of VBA. It is strongly recommended that you have completed my entire Access Beginner and Expert series. My Developer 1 class is highly recommended so you understand the basics of programming in VBA. If not, at least watch my free Intro to VBA video.
This course stands alone, however it is very strongly recommended that you at least know everything in my Access Beginner series (1-9) and the first three (3) lessons of my Expert series. You will also need an email account and a working installation of Microsoft Outlook to use the lessons involving Outlook. If you wish to use the lessons on collecting data via a web page, you will need Microsoft web hosting with ASP. Again watch the intro video (above) for a complete listing of pre-requisites for this course.
I am using Access 2013 in this seminar, however the lessons are perfectly valid for all versions of Access from 2003 and later. It's currently 2022 and I just recently verified that everything in this seminar still works with Access 2019 and Office 365.
The common dialog box (used to select a file attachment) will not work with 64-bit Access. I provide an alternative. The lesson on disabling the Outlook security warnings may not work in older versions of Office. Everything else works just fine. Watch the intro video (above) for a complete list of version information.
Enroll now so that you can watch these lessons, learn with us, post questions, and more.
Please feel free to post your questions or comments below. Thanks.
send email from access, export report as pdf, send email attachments, bulk email with access, ssl, access outlook inbox, read incoming mail, collect user data, surveys, email to text message, extract attachments, database, microsoft access, access tutorial, email without outlook
You may want to read these articles from the 599CD News: