J'utilise une classe d'expéditeur de courrier simple qui utilise le code System.Net.Mail
. J'ai besoin de mettre à jour mon application afin que les différents utilisateurs puissent envoyer un email via celle-ci (en utilisant le même compte smtp) mais l'adresse "De" doit être celle de l'utilisateur qui l'envoie. J'ai essayé de définir la propriété From
de MailMessage
, et d'envoyer l'adresse de dans le constructeur de MailMessage
mais nez de ceux qui ont travaillé. Je suis sûr qu'il me manque quelque chose de simple ou de ne pas comprendre comment l'API de messagerie fonctionne. Quelqu'un peut-il aider?Définition d'une autre adresse "De" pour le courrier envoyé via Gmail à l'aide de C#
Voici ma classe MailSender qui enveloppe essentiellement les MailMessage
, NetworkCredential
et SmtpClient
pour fournir une interface d'envoi de courrier simple.
class MailSender
{
private NetworkCredential credential;
private String SenderAddress;
private SmtpClient client;
public MailSender(String ServerURL, String account, String password, String FromAddress = null, int port = -1, bool UseSSL = true)
{
if (port > 0)
{
client = new SmtpClient(ServerURL, port);
}
else
{
client = new SmtpClient(ServerURL);
}
credential = new NetworkCredential(account, password);
client.UseDefaultCredentials = false;
client.EnableSsl = UseSSL;
client.Credentials = credential;
if (FromAddress != null)
{
SenderAddress = FromAddress;
}
else
{
SenderAddress = account;
}
}
public bool SendMessage(String to, String subject, String body)
{
try
{
MailMessage message = new MailMessage(SenderAddress, to, subject, body);
message.From = new MailAddress(SenderAddress, "tester");
message.IsBodyHtml = true;
client.Send(message);
}
catch
{
return false;
}
return true;
}
}
IIRC, GMail le modifie en fonction de vos paramètres du compte. – leppie
Il se peut très bien que Google ne vous autorise pas à envoyer des messages à partir de comptes autres que les informations d'identification que vous transmettez pour authentification. –
@leppie et @Mikael Svenson: essayé avec le smtp de notre bureau. Mêmes résultats – MAK