Não foi possível enviar email para outros domínios usando System.Net.Mail.SmtpClient

Observe o seguinte código:

client.Credentials = new NetworkCredential(SMTP_SERVER_USERNAME, SMTP_SERVER_PASSWORD);
client.EnableSsl = false;
client.Host = SMTP_SERVER_HOSTNAME;
client.Port = 587;
client.UseDefaultCredentials = false;
client.Timeout = 4000;

MailMessage message = new MailMessage();
message.Body = "Test";
message.From = new MailAddress(MY_OWN_ADDRESS);
message.ReplyToList.Add(message.From);
message.Sender = message.From;
message.Subject = SUBJECT_LINE;
message.To.Add(RECIPIENT_ADDRESS);

No momento, não posso usá-lo para enviar e-mails. O código reside em um aplicativo ASP.NET MVC 3 usando o mecanismo ASPX antigo. Ele é executado em um servidor IIS7 com o ASP.NET 4.0 no modo Pipeline Integrad

Quando esse código é executado, ocorre uma das duas situações:

Se RECIPIENT_ADDRESS for igual a MY_OWN_ADDRESS ou outro endereço de email no meu domínio, o email será enviado e tudo estará beNo entanto, se RECIPIENT_ADDRESS for qualquer endereço de email, funcionando ou não, em outro servidor como o gmail, ocorrerá uma exceção durante o SmtpClient.Send:

Mailbox indisponível. A resposta do servidor foi: A autenticação é necessária para o relay

Descriçã: Ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Revise o rastreamento de pilha para obter mais informações sobre o erro e onde ele se originou no códig

Detalhes da exceção: System.Net.Mail.SmtpFailedRecipientException: Caixa de correio indisponível. A resposta do servidor foi: A autenticação é necessária para o relay