C#将电子邮件从“地址”更改为用户提供的地址

时间:2010-04-30 15:17:06

标签: c# email-spam email

我们有一个应用程序,允许用户从我们的系统发送电子邮件。它允许用户指定他们的电子邮件地址,并为他们提供几个标准模板,作为他们的电子邮件的起点。

当我们发送电子邮件时,我们使用他们提供的地址作为“回复”,但电子邮件的“发件人”地址(自然地)就像我们的系统(来自'submit @ ourserver。 COM')。

有没有办法在不混淆垃圾邮件过滤器或自动阻止的情况下更改此功能?我们不希望收件人混淆谁实际编写了他们收到的电子邮件。

3 个答案:

答案 0 :(得分:1)

我会把你推荐给杰夫阿特伍德的 Coding Horror 关于以编程方式发送电子邮件的文章。它详细描述了您应采取的步骤,以防止您的电子邮件被垃圾邮件过滤器等捕获......

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

答案 1 :(得分:1)

我使用此代码:

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

这似乎对我有用......

答案 2 :(得分:1)

在与我们的操作人员讨论并尝试Atomiton的方法后,我发现这对我们来说实际上是不可能的。