11 votes

Envoi de courriels sans codage en dur du nom d'utilisateur et du mot de passe

Existe-t-il un moyen d'envoyer un e-mail à partir de C# sans coder manuellement mon nom d'utilisateur et mon mot de passe en utilisant Gmail SMTP ?

Je sais qu'il existe des logiciels qui peuvent voir le code source, et je n'aime pas vraiment qu'ils voient mon mot de passe Gmail.

7voto

ChrisF Points 74295

Vous ne devez pas utiliser votre nom d'utilisateur et votre mot de passe dans une application exécutée par quelqu'un d'autre.

Modifiez l'application pour qu'elle demande à l'utilisateur d'indiquer leur et les utiliser.

Cela devra être stocké dans un fichier de configuration et pourra toujours être lu par quelqu'un d'autre, à moins que vous ne stockiez l'élément haché mot de passe crypté.

5voto

lak-b Points 764

Première option : stocker le nom d'utilisateur et le mot de passe dans la configuration

using System.Net.Mail;

var fromEmail = ConfigurationSettings.AppSettings[ "mail" ]; 
var fromPassword = ConfigurationSettings.AppSettings[ "pass" ]; 

var fromAddress = new MailAddress(fromEmail, "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
           {
               Host = "smtp.gmail.com",
               Port = 587,
               EnableSsl = true,
               DeliveryMethod = SmtpDeliveryMethod.Network,
               UseDefaultCredentials = false,
               Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
           };
using (var message = new MailMessage(fromAddress, toAddress)
                     {
                         Subject = subject,
                         Body = body
                     })
{
    smtp.Send(message);
}

dans app.config :

  <appSettings>
    <add key="mail" value="somemail@gmail.com" />
    <add key="pass" value="password" />
  </appSettings>

Vous pouvez également sécuriser le fichier de configuration en le cryptant.

Deuxième option : lire le nom d'utilisateur et le mot de passe de l'utilisateur

2voto

Lie Ryan Points 24517

Envoyez un message HTTP POST à votre serveur web, qui enverra le courrier électronique au nom de l'application. Vous aurez probablement besoin d'un moyen d'authentifier que t

A

A

0voto

Thomas Levesque Points 141081

Stocker le nom d'utilisateur et le mot de passe dans un fichier de configuration...

Utilisation des paramètres en C#

0voto

Externaliser la configuration spécifique à l'environnement, en particulier la configuration sensible comme les informations d'identification, dans un fichier de configuration.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X