2010-04-30 6 views
2

Nous avons une application qui permet aux utilisateurs d'envoyer des e-mails depuis notre système. Il permet à l'utilisateur de spécifier son adresse e-mail et lui donne plusieurs modèles standard à utiliser comme point de départ pour son e-mail. Lorsque nous envoyons les e-mails, nous utilisons l'adresse fournie comme réponse, mais l'adresse de provenance de l'e-mail ressemble (naturellement) à notre système (de 'submit @ ourserver' .com ').C# changer l'adresse e-mail 'de' à celle fournie par l'utilisateur

Y at-il un moyen de changer cela sans s'emmêler dans les filtres anti-spam ou le blocage automatique? Nous préférons ne pas confondre le destinataire pour savoir qui a réellement composé l'e-mail qu'il a reçu.

Répondre

1

Après avoir discuté avec nos employés et essayé la méthode d'Atomiton, j'ai découvert que ce n'est pas vraiment possible pour nous.

1

Je vous renvoie à l'article Coding Horror de Jeff Atwood sur l'envoi de messages par programme. Il décrit en longueur les étapes que vous devriez prendre pour éviter que votre e-mail d'être pris dans les filtres anti-spam, etc ...

Jeff Atwood's Coding Horror: So You'd Like to Send Some Email (Through Code)

+0

Merci pour le lien (nous faisons déjà tout cela) mais il ne répond pas à la question que j'ai posée. – Jeff

+0

Avez-vous un échantillon de code? J'ai interprété la question comme vous vouliez savoir si le fait de changer l'adresse de votre courriel enverrait votre courriel. – Aren

1

-je utiliser ce code:

public static bool sendEmail(string fromName, string fromEmail, string body, string subject, string toEmail) { 

    String strReplyTo = fromEmail.Trim(); 
    String strTo = toEmail; 
    String msgBodyTop = "Email from: " + @fromName + "(" + @fromEmail + ")\n" 
      + "" + " " + DateTime.Now.ToLongTimeString() 
      + " FROM " + HttpContext.Current.Request.Url.ToString + " : \n\n" 
      + "---\n"; 

    MailMessage theMail = new MailMessage(fromEmail, strTo, subject, msgBodyTop + body); 

    theMail.From = new MailAddress(strReplyTo, fromName); 

    SmtpClient theClient = new SmtpClient(ConfigurationManager.AppSettings["SMTP"].ToString()); 

    theClient.Send(theMail); 

    return true; 
} 

Il semble travailler pour moi ...

+0

Vous ne rencontrez aucun problème avec le déclenchement de filtres anti-spam, usurpant ainsi l'adresse "De"? – Jeff

+0

Pour être honnête, je n'ai vraiment pas eu de problème. Cependant, je ne fais pas de publipostage non plus. – Armstrongest