2010-04-30 90 views
2

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

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

有没有办法改变这种情况而不会陷入垃圾邮件过滤器或自动阻塞?我们不希望让收件人误解他们收到的电子邮件。

回答

1

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

1

我会把你推荐给Jeff Atwood的Coding Horror关于通过程序发送电子邮件的文章。它描述了长度应采取防止电子邮件被夹在垃圾邮件过滤器等步骤...

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

+0

感谢您的链接(我们已经做了所有这些),但它并没有回答我问的问题。 – Jeff 2010-04-30 15:28:51

+0

你有代码示例吗?我解释了这个问题,因为你想知道如果改变这个问题会让你的电子邮件遭到抛弃。 – Aren 2010-04-30 15:38:20

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

这似乎为我工作...

+0

您没有触发垃圾邮件过滤器的问题,欺骗这样的'发件人'地址? – Jeff 2010-04-30 18:33:13

+0

说实话,我真的没有问题。但是,我也没有做群发邮件。 – Armstrongest 2010-05-03 14:24:45

相关问题