Function to send email fails.

bfuchs used Ask the Experts™
Hi Experts,

We have the following function that used to work for years, now suddenly its starting to cause problems.

Public Sub SendEmail(Optional sTo As String = "", Optional sFrom As String = "", Optional sSubject As String = "", Optional sBody As String = "")
    Dim imsg As Object
    Dim iconf As Object
    Dim flds As Object
    Dim schema As String

    Set imsg = CreateObject("CDO.Message")
    Set iconf = CreateObject("CDO.Configuration")
    Set flds = iconf.Fields

    ' send one copy with SMTP server (with autentication)
    schema = ""
    flds.Item(schema & "sendusing") = cdoSendUsingPort
    flds.Item(schema & "smtpserver") = ""
    flds.Item(schema & "smtpserverport") = 3535
    flds.Item(schema & "smtpauthenticate") = cdoBasic

    flds.Item(schema & "sendusername") = ""
    flds.Item(schema & "sendpassword") = "MyPWD"
    flds.Item(schema & "smtpusessl") = False

    With imsg
        .To = sTo
        .From = sFrom
        .Subject = sSubject
        .HTMLBody = sBody
       '.Sender = "Sender"
        '.Organization = "My Company"
        '.ReplyTo = ""
        Set .Configuration = iconf
    End With

    Set iconf = Nothing
    Set imsg = Nothing
    Set flds = Nothing
End Sub

Open in new window

See attached error message.
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2015

The error message seems like the SMTP communication was blocked because of:

1.  Local firewall is blocking it
2.  Relaying is disabled.  Can you verify with the email administrator that relaying is allowed?  
3.  Email server firewall is blocking it
John TsioumprisSoftware & Systems Engineer
Have you changed something in the email configuration ..e.g version of Exchange server..Exchange 2016 doen't work with CDO.
EDIT..i see you use GoDaddy email functionality...maybe you should drop them a ticket to see is something needs to be done.
Hi Experts,
Have you changed something in the email configuration ..e.g version of Exchange server
Yeah, guess this was working till now while our GoDaddy account was still active...
Wondering what needs to be changed in order to work.
Exchange 2016 doen't work with CDO.
I see from the following it should work.

BTW, I'm open for other suggestions, not bounded to CDO (as long as they work and easy to apply/maintain..).

Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Top Expert 2015

Since you mentioned Go Daddy, are you using hosted Exchange or on-site?
Since you mentioned Go Daddy
Oh forgot to mention..We changed for Office 365.
Top Expert 2015

If you changed to Office 365 then it is probably because email relaying is not configured.  Please have a look at these articles:

It's best to call Office 365 support and they should help you with this.
I changed for the following
    flds.Item(schema & "smtpserver") = ""
    flds.Item(schema & "smtpserverport") = 25
   ' flds.Item(schema & "smtpauthenticate") = 0

Open in new window

Then we got the attached.
Went online to enlist the IP and it worked.
but after testing 2 times I'm getting the attached msg again..
What are my options?

Top Expert 2015
IMHO, the message strictly refers to "banned sending IP" so it seems as the Office 365 is blocking it because it's suspicious of your script trying to flood the system with emails (spam).
Thank you my experts!
Top Expert 2015

You're welcome and glad to help.  Cheers!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial