2012-02-24

Send e-mail using CDO on GoDaddy's shared windows web hosting using classic ASP

Recently, a friend of mine told me that GoDaddy had to move his data to another server and after that his mail service stopped working. On old machine CDONTS was used, but on new machine CDO usage is required. So, I had to update code and now want to share it with you if you want to save your time. You just need to do "copy&paste' and test whether it is working or not.

1: <%
   2:
   3: '-----------------------------------------------------------------------
   4: ' file name: email-sender.asp
   5: ' sends email
   6: '-----------------------------------------------------------------------
   7:
   8: sub sendEmailText (mFrom, mReplyTo, mSubject, mTo, mCc, mBcc, mBody)
   9: dim cdoMessage
   10: dim cdoConfig
   11:
   12: set cdoMessage = Server.CreateObject("CDO.Message")
   13: set cdoConfig = Server.CreateObject ("CDO.Configuration")
   14:
   15: 'Modify the smtp server for the smtp server that your hosting uses (localhost for dedicated relay-hosting for shared)
   16: cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "relay-hosting.secureserver.net"
   17: cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
   18: cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
   19: cdoConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
   20: cdoConfig.Fields.Update
   21:
   22: set cdoMessage.Configuration = cdoConfig
   23:
   24: cdoMessage.From = mFrom
   25: cdoMessage.ReplyTo = mReplyTo
   26: cdoMessage.Subject = mSubject
   27: cdoMessage.To = mTo
   28: cdoMessage.Cc = mCc
   29: cdoMessage.Bcc = mBcc
   30: cdoMessage.TextBody = mBody
   31: cdoMessage.Send
   32:
   33: set cdoConfig = nothing
   34: set cdoMessage = nothing
   35: end sub
   36:
   37: %>
   38:

and if you need to test it you can use below code

1:
   2: <!--#include virtual="/path/to/your/email-sender.asp"-->
   3: <%
   4:
   5: '-----------------------------------------------------------------------
   6: ' file name: e-mail.asp
   7: ' sends email using sendEmailText subroutine in email-sender.asp
   8: '-----------------------------------------------------------------------
   9:
   10: dim dateTimeNow
   11: dateTimeNow = Now
   12:
   13: sendEmailText _
   14: "from@somedomain.com", _
   15: "replyto@somedomain.com", _
   16: "Some nice subject", _
   17: "to@somedomain.com", _
   18: "cc@somedomain.com", _
   19: "bcc@somedomain.com", _
   20: "This message was sent using function from http://www.somedomain.com/test/e-mail.asp. If you got it, it is working! Sent at: " & dateTimeNow
   21:
   22: %>
   23: <h1>A test message using function have just been sent to you! Check for e-mail which contains <u><%= dateTimeNow %></u></h1>
   24:
   25:

Enjoy :-)

2 comments: