net asp asp.net .net vb.net smtp email-integration

asp.net - vb net to asp net



cómo configurar los ajustes smtp en web.config (3)

Archivo web.config:

<configuration> <system.net> <mailSettings> <smtp from="[email protected]"> <network host="smtp.gmail.com" port="587" userName="[email protected]" password="yourpassword" enableSsl="true"/> </smtp> </mailSettings> </system.net> </configuration>

Estoy intentando solucionar un problema de correo electrónico con un sitio web heredado y no tengo acceso al código (es decir, solo a los archivos compilados). Este sitio debe estar alojado en un nuevo servidor web que tenga un servidor smtp diferente.

Al descompilar los bits del código, puedo ver que los correos electrónicos se envían utilizando el método que se muestra a continuación en el fragmento de código y smtp se establece como smtpMail.SmtpServer = "localhost", pero el nuevo servidor SMTP de mi servidor web es "relay.tagadab.com". esto en web.config para que localhost se tome como "relay.tagadab.com"

Imports Microsoft.VisualBasic, System.Web.Mail Shared Sub SendMail(ByVal ToAdd, ByVal FromAdd, ByVal Message, ByVal Subject) Dim msgMail As New MailMessage() msgMail.To = ToAdd msgMail.From = FromAdd msgMail.Subject = Subject msgMail.Headers.Add("X-Mailer", "ASP.NET") msgMail.BodyFormat = MailFormat.Text msgMail.Body = Message ''SmtpMail.SmtpServer = "mail.the-radiator.com" SmtpMail.SmtpServer = "localhost" SmtpMail.Send(msgMail) End Sub

Agregué esta sección en mi web.config pero eso no hace una diferencia

<system.net> <mailSettings> <smtp> <network host="relay.tagadab.com" port="25" /> </smtp> </mailSettings> </system.net>


Configure IIS para reenviar su correo al servidor remoto. Los detalles específicos varían mucho según la versión de IIS. Para IIS 7.5:

  1. Abra el Administrador de IIS
  2. Conéctese a su servidor si es necesario
  3. Seleccione el nodo del servidor; Debería ver una opción SMTP a la derecha en la sección ASP.NET
  4. Haga doble clic en el icono SMTP.
  5. Seleccione la opción "Enviar correo electrónico al servidor SMTP" e ingrese el nombre de su servidor, sus credenciales, etc.

No tengo suficiente representante para responder a ClintEastwood, y la respuesta aceptada es correcta para el archivo Web.config. Agregando esto en la diferencia de código.

Cuando sus ajustes de correo están configurados en Web.config, no necesita hacer nada más que el nuevo SmtpClient y .Send. Encuentra la conexión en sí sin necesidad de ser referenciado. Cambiarías tu C # de esto:

SmtpClient smtpClient = new SmtpClient("smtp.sender.you", Convert.ToInt32(587)); System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("username", "password"); smtpClient.Credentials = credentials; smtpClient.Send(msgMail);

A esto:

SmtpClient smtpClient = new SmtpClient(); smtpClient.Send(msgMail);