2

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

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

有没有办法在不被垃圾邮件过滤器或自动阻止的情况下改变这一点?我们不想让收件人混淆他们收到的电子邮件的实际作者。

4

3 回答 3

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

它似乎对我有用......

于 2010-04-30T15:43:45.340 回答
1

我将向您推荐 Jeff Atwood关于以编程方式发送电子邮件的Coding Horror文章。它详细描述了您应该采取的步骤,以防止您的电子邮件被垃圾邮件过滤器等捕获。

杰夫阿特伍德的编码恐怖:所以你想发送一些电子邮件(通过代码)

于 2010-04-30T15:26:53.803 回答
1

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

于 2010-05-03T16:50:23.100 回答