This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Habilitando la autenticación SMTP con CDOSYS (System.Web.Mail)
Friday, 20 February 2004
Uno de los problemas más comunes con el uso CDOSYS (que es la clase subyacente utilizada por Sistema.Web.Mail) es la falta de autenticación para el envío de correo a través de SMTP, Darren Jefford publicó un método para hacer esto, lo he reproducido a continuación ya que actualmente está alojado en GotDOtNwet y así puede desaparecer en algún momento:
System.Web.Mail y autenticación
Una pregunta surgió recientemente sobre cómo enviar correo electrónico desde .NET, System.Web.Mail ofrece un buen MailMessage y SmtpMail clase que hace el truco.
Las clases son un envoltorio sobre el CDOSYSfuncionalidad que ha estado alrededor por un tiempo, y son mucho más agradables que la interfaz bastante torpe CDOSYS :)
Es muy directo para enviar un correo:
System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage(); msg.Subject = "Testing";msg.Body = "Hello World";msg.From = "[email protected] ";msg.To = " [email protected] ";
Sistema.Web.Mail.SmtpMail.SmtpServer = "YOUREXCHANGESERVER";System.Web.Mail.SmtpMail.Enviar( msg );
Sin embargo, cuando lo estaba probando contra un servidor de Exchange se negó a enviar, devolviendo este error:
System.Runtime.InteropServices.COMException (0x8004020E): El servidor rechazó la dirección del remitente. La respuesta del servidor fue: 454 5.7.3 El cliente no tiene permiso para enviar correo a este servidor.
Por defecto (y sabiamente) Exchange no permite a los usuarios no autenticados enviar correo a través de SMTP para evitar los spammers, etc. Para cortar un disparo de historia muy larga la clase SmtpMail no maneja la autenticación al servidor Exchange lo que significa que no se puede utilizar la clase en los escenarios más seguros.
Después de mucho cavar encontré que CDOSYS lo hacetienen código de autenticación como usted esperaría, sin embargo la clase MailMessage o SmtpMail no expone ninguna manera de activarlo. Después de un poco más de excavación encontré que el equipo de Everett (.NET Framework 1.1) se dio cuenta de esto y añadió una nueva propiedad llamada Campos, que como usted puede verfalta alguna documentación ;-)
Por lo tanto, después de alguna investigación más he encontrado que usted puede autenticarse contra un servidor, si usted tiene la versión 1.1 del marco, y esta es la línea que usted tiene que añadir al código anterior:
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",2);
Cuando el 2 especifica NTLM, 1 para básico, 0 para ninguno (el predeterminado)
Por supuesto, también puede configurar el miríadade otras opciones de configuración a través de esta colección de campos
Siento que viene un artículo de MSDN HOWTO, y tal vez pidiendo políticamente que se cargue alguna documentación de MSDN! :-)