web-dev-qa-db-fra.com

comment configurer les paramètres smtp dans web.config

J'essaie de résoudre un problème de courrier électronique avec un site Web hérité et je n'ai pas accès au code (c'est-à-dire uniquement aux fichiers compilés). Ce site doit être hébergé sur un nouveau serveur Web ayant un serveur smtp différent.

Lors de la décompilation des bits du code, je peux voir que les e-mails sont envoyés en utilisant la méthode comme ci-dessous dans l'extrait de code et smtp est défini comme smtpMail.SmtpServer = "localhost" mais mon nouveau serveur smtp de serveur Web est "relay.tagadab.com" comment pouvons-nous éventuellement configurer ceci dans web.config pour que localhost soit considéré comme "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

J'ai ajouté cette section dans mon web.config mais cela ne fait aucune différence

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

Fichier 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>
61
Sanjay kumar

Je n'ai pas assez de représentant pour répondre à ClintEastwood et la réponse acceptée est correcte pour le fichier Web.config. Ajout de cela pour la différence de code.

Lorsque vos paramètres mailSettings sont définis sur Web.config, vous n'avez rien d'autre à faire que de renouveler votre SmtpClient et .Send. Il trouve la connexion elle-même sans avoir besoin d'être référencé. Vous changeriez votre C # de ceci:

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);  

Pour ça:

SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(msgMail);
6
Eric Barker

Définissez IIS pour transférer votre courrier vers le serveur distant. Les détails varient considérablement en fonction de la version d'IIS. Pour IIS 7.5:

  1. Ouvrez IIS Manager
  2. Connectez-vous à votre serveur si nécessaire
  3. Sélectionnez le nœud du serveur; vous devriez voir une option SMTP à droite dans la section ASP.NET
  4. Double-cliquez sur l'icône SMTP.
  5. Sélectionnez l'option "Remettre les e-mails au serveur SMTP" et entrez le nom de votre serveur, vos informations d'identification, etc.
4
nunzabar