Hi I want to create a macro that can send emails without having to use the outlook application. I have tried using CDO but when I run my macro I get an error saying: "Run-time error, The server rejected the sender address. The server response was: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM ...."
Here is my code:
I've already added the username and password so I don't see what the error is talking about? Also when I add the following lines of code:Sub CDO_Mail_Small_Text() Dim iMsg As Object Dim iConf As Object Dim strbody As String Dim Flds As Variant Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 ' CDO Source Defaults Set Flds = iConf.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp-mail.outlook.com" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxxx@outlook.com" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxx" .Update End With strbody = "Hi there" & vbNewLine & vbNewLine & _ "This is line 1" & vbNewLine & _ "This is line 2" & vbNewLine & _ "This is line 3" & vbNewLine & _ "This is line 4" With iMsg Set .Configuration = iConf .To = "xxxx@gmail.com" .CC = "" .BCC = "" .From = " <xxxx@outlook.com>" .Subject = "Important message" .TextBody = strbody .Send End With Set iMsg = Nothing Set iConf = Nothing Set Flds = Nothing End Sub
It will give me a new error, saying "The transport failed to connect to the server." However when I try changing the smtp serverport to 25 or 465, the macro will get stuck at.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
and not complete the macro..Send