microsoft exchange c# email exchange-server exchange-server-2010

c# - exchange - El error ''5.7.1 Client no tiene permiso'' al enviar un correo electrónico desde el código



microsoft exchange c# send email (4)

Así que tengo este programa muy básico que está tratando de enviar un correo electrónico, pero sigo recibiendo

Buzón no disponible. La respuesta del servidor fue: 5.7.1 El cliente no tiene permisos para enviar como este remitente

Aquí está mi programa

static void Main(string[] args) { SmtpClient client = new SmtpClient("Server", 25); client.UseDefaultCredentials = false; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new NetworkCredential("UserName", "Password"); client.Send(new MailMessage("[email protected]","Recipient")); }

Sé que las credenciales funcionan, si ejecuto SMTP Test Tool 3.0 con la misma información todo funciona bien.

Aquí hay algunas capturas de pantalla en un conector de recepción configurado para mi IP en el servidor de intercambio

¿Alguien tiene alguna idea de lo que estaría causando este error en mi código, pero no en la simple herramienta de prueba SMTP? ¿Me estoy perdiendo algún tipo de opción de autenticación en alguna parte? He comprobado cuádruplemente toda la información es correcta e idéntica en ambos lugares y funciona en la herramienta, pero no en el código.


Creo que debes establecer UseDefaultCredentials en verdadero: ver el código de powershell

#SMTP server name $smtpServer = "abcd.com.au" #Creating a Mail object $msg = new-object Net.Mail.MailMessage #Creating SMTP server object $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.UseDefaultCredentials = $true



Sé que este hilo es bastante antiguo, pero acabo de tener el mismo problema y me he estado rascando la cabeza durante mucho tiempo. En mi caso, el servidor de correo no aceptó el remitente "extranjero", por lo que, por ejemplo, si está en el dominio @ sample.com, podría ser imposible enviar correo desde "[email protected]", porque el servidor rechazará esto con 5.7.1 error. Entonces, 2 cosas son importantes aquí: 1) Corregir las credenciales que se usarán para conectarse al servidor; 2) Valor del campo "Desde", ya que su servidor puede rechazar correos del remitente que pertenece a otro dominio. En otras palabras, si se encuentra en el dominio @ sample.com, intente agregar también este nuevo MailMessage {From = "[email protected]"}.


Yo tuve el mismo problema. Probé la configuración de SMTP en una aplicación de consola separada y funcionó bien. Después de buscar en Google, me di cuenta de que mi problema era el hecho de que había especificado la dirección de origen dos veces, una vez en mi configuración:

<smtp deliveryMethod="Network" from="[email protected]">

Y también en mi código:

mail.From = new MailAddress("[email protected]");

Eliminar la dirección from del código resolvió el problema.