我們有一個應用程序,允許用戶從我們的系統發送電子郵件。它允許用戶指定他們的電子郵件地址,併爲他們提供幾個標準模板作爲其電子郵件的起點。C#將電子郵件從'地址'更改爲用戶提供的地址
當我們發送電子郵件時,我們使用他們提供的地址作爲'答覆',但電子郵件的'發件人'地址(自然地)看起來像我們的系統(來自'submit @ ourserver .COM')。
有沒有辦法改變這種情況而不會陷入垃圾郵件過濾器或自動阻塞?我們不希望讓收件人誤解他們收到的電子郵件。
我們有一個應用程序,允許用戶從我們的系統發送電子郵件。它允許用戶指定他們的電子郵件地址,併爲他們提供幾個標準模板作爲其電子郵件的起點。C#將電子郵件從'地址'更改爲用戶提供的地址
當我們發送電子郵件時,我們使用他們提供的地址作爲'答覆',但電子郵件的'發件人'地址(自然地)看起來像我們的系統(來自'submit @ ourserver .COM')。
有沒有辦法改變這種情況而不會陷入垃圾郵件過濾器或自動阻塞?我們不希望讓收件人誤解他們收到的電子郵件。
在與我們的操作人員討論並嘗試Atomiton的方法後,我發現這對我們來說實際上並不可行。
我會把你推薦給Jeff Atwood的Coding Horror關於通過程序發送電子郵件的文章。它描述了長度應採取防止電子郵件被夾在垃圾郵件過濾器等步驟...
Jeff Atwood's Coding Horror: So You'd Like to Send Some Email (Through 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;
}
這似乎爲我工作...
您沒有觸發垃圾郵件過濾器的問題,欺騙這樣的'發件人'地址? – Jeff 2010-04-30 18:33:13
說實話,我真的沒有問題。但是,我也沒有做羣發郵件。 – Armstrongest 2010-05-03 14:24:45
感謝您的鏈接(我們已經做了所有這些),但它並沒有回答我問的問題。 – Jeff 2010-04-30 15:28:51
你有代碼示例嗎?我解釋了這個問題,因爲你想知道如果改變這個問題會讓你的電子郵件遭到拋棄。 – Aren 2010-04-30 15:38:20