Stuart McLachlan
stuart.mclachlan at gmail.com
Mon Mar 17 17:11:11 CDT 2014
I don't use CDO ( I role my own email code), but I'd strongly suspect this line:
.Item(cdoSMTPAuthenticate) = cdoAnonymous
You will need an authenticated connection to the Exchange server before it will accept email
for an outside address.
On 18 Mar 2014 at 9:53, David Emerson wrote:
> Hi Listers,
>
>
>
> Below is the error message my Access database is getting when I try to
> send out an email using cdosys.dll:
>
>
>
> Error Number : -2147220977
>
> Error Msg: The server rejected one or more recipient addresses. The
> server response was: 550 5.7.1 Unable to relay.
>
>
>
> The VBA code I am using is below:
>
>
>
> Dim msg As Message, strSMTPServer As String,
> intSMTPConnectionTimeout As
> Integer, intSMTPServerPort As Integer
>
> Dim strOrganisation As String, strFrom As String, strSubject As
> String,
> strBody As String, strHeader As String
>
>
>
> strSMTPServer = DLookup("EmailSMTPServer", "tlkpVariable",
> "VariableID =
> 1")
>
> intSMTPConnectionTimeout = DLookup("EmailSMTPConnectionTimeout",
> "tlkpVariable", "VariableID = 1")
>
> intSMTPServerPort = DLookup("EmailSMTPServerPort", "tlkpVariable",
> "VariableID = 1")
>
> strOrganisation = DLookup("EmailOrganisation", "tlkpVariable",
> "VariableID = 1")
>
> strFrom = DLookup("EmailSender", "tlkpVariable", "VariableID = 1")
>
> strSubject = DLookup("EmailSubject", "tlkpVariable", "VariableID =
> 1")
>
> strBody = DLookup("EmailBody", "tlkpVariable", "VariableID = 1")
>
>
>
> Set msg = CreateObject("CDO.Message")
>
> With msg
>
> With .Configuration.Fields
>
> .Item(cdoSMTPAuthenticate) = cdoAnonymous
>
> ' .Item(cdoSMTPAuthenticate) = cdoBasic
>
> ' .Item(cdoSendUserName) = "username"
>
> ' .Item(cdoSendPassword) = "password"
>
> .Item(cdoSendUsingMethod) = cdoSendUsingPort
>
> .Item(cdoSMTPServer) = strSMTPServer
>
> .Item(cdoSMTPConnectionTimeout) =
> intSMTPConnectionTimeout
>
> .Item(cdoSMTPServerPort) = intSMTPServerPort
>
> .Update
>
> End With
>
> .Organization = strOrganisation
>
> .To = strTo
>
> .Subject = Nz(strSubject, " ")
>
> .TextBody = Nz(strBody, " ")
>
> .From = strFrom
>
> .Send
>
> End With
>
> Set msg = Nothing
>
>
>
>
>
> The lines in red above have also been tried using the users windows
> logon and password but the same message appeared (not sure if this was
> the correct data for these properties though).
>
>
>
> The code has worked fine for other clients but they have not used
> Microsoft Exchange for their emails.
>
> It also works if the recipient address has the same domain as the
> server.
>
>
>
> Any help would be appreciated.
>
>
>
> Regards
>
> David Emerson
> Dalyn Software Ltd
> Wellington, New Zealand
>
>
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>