Sending email using Amazon SES with Classic ASP
by johna | March 21, 2017 | Classic ASP Web Development
I recently needed to change a client's website to send emails using Amazon SES and encountered a few issues.
The client's code was using jMail COM component but I couldn't make this work, most likely because Amazon SES requires use of TLS and I could not find how to enable this in jMail, if it supports it at all.
So the solution was to change to CDOSYS, but this required some experimentation before it would work.
Some of the errors I received along the way were:
• The server rejected the sender address
• The server response was: 530 Authentication required
• 530 Must issue a STARTTLS command first
To use CDOSYS with Amazon SES you must specify a remote server, authenticate using basic authentication, use port 25, and use SSL (not TLS as I attempted).
This sample code worked for me. You will of course need to include your own Amazon SES SMTP login details, server name, and verified sender address.
The client's code was using jMail COM component but I couldn't make this work, most likely because Amazon SES requires use of TLS and I could not find how to enable this in jMail, if it supports it at all.
So the solution was to change to CDOSYS, but this required some experimentation before it would work.
Some of the errors I received along the way were:
• The server rejected the sender address
• The server response was: 530 Authentication required
• 530 Must issue a STARTTLS command first
To use CDOSYS with Amazon SES you must specify a remote server, authenticate using basic authentication, use port 25, and use SSL (not TLS as I attempted).
This sample code worked for me. You will of course need to include your own Amazon SES SMTP login details, server name, and verified sender address.
Dim objMessage
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Your subject"
objMessage.From = "test@exampledomain.com"
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "email-smtp.us-west-2.amazonaws.com" 'Change if using a different Amazon SES server
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Your Amazon SES SMTP username, usually starts with AKI..."
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Your Amazon SES SMTP password"
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
objMessage.Configuration.Fields.Update
objMessage.TextBody = "This is a test email"
objMessage.To = "success@simulator.amazonses.com"
On Error Resume Next
objMessage.Send
If Err.Number = 0 Then
Response.Write("OK")
Else
Response.Write("FAIL: " + Err.Description)
End If
Related Posts
Converting dBase IV programs to run in the browser
by johna | September 13, 2024
Some pointless entertainment trying to get some old dBase programs running in the browser.
How to set up a debugging using the Turnkey Linux LAMP stack and VS Code
by johna | December 19, 2023
The second part in my guide to setting up a website and database using the Turnkey Linux LAMP stack.
How to set up a website and database using the Turnkey Linux LAMP stack
by johna | November 18, 2023
If you need to host your own website for the purposes of web development, Turnkey Linux LAMP Stack is an easy to install all-in-one solution that you can set up on a spare computer or a VM (Virtual Machine).
Comments
There are no comments yet. Be the first to leave a comment!