我们有一个应用程序允许用户从我们的系统发送电子邮件。它允许用户指定他们的电子邮件地址,并为他们提供几个标准模板作为他们电子邮件的起点。
当我们发送电子邮件时,我们使用他们提供的地址作为“回复”,但电子邮件的“发件人”地址(自然)看起来像我们的系统(来自“submit@ourserver.com”) .
有没有办法在不被垃圾邮件过滤器或自动阻止的情况下改变这一点?我们不想让收件人混淆他们收到的电子邮件的实际作者。
我们有一个应用程序允许用户从我们的系统发送电子邮件。它允许用户指定他们的电子邮件地址,并为他们提供几个标准模板作为他们电子邮件的起点。
当我们发送电子邮件时,我们使用他们提供的地址作为“回复”,但电子邮件的“发件人”地址(自然)看起来像我们的系统(来自“submit@ourserver.com”) .
有没有办法在不被垃圾邮件过滤器或自动阻止的情况下改变这一点?我们不想让收件人混淆他们收到的电子邮件的实际作者。
我使用这段代码:
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;
}
它似乎对我有用......
我将向您推荐 Jeff Atwood关于以编程方式发送电子邮件的Coding Horror文章。它详细描述了您应该采取的步骤,以防止您的电子邮件被垃圾邮件过滤器等捕获。
在与我们的运维人员讨论并尝试了 Atomiton 的方法后,我发现这对我们来说实际上是不可能的。