我使用這些配置:發送鏈接確認郵件
WebMail.SmtpServer = "smtp.gmail.com";
WebMail.EnableSsl = true;
WebMail.SmtpPort = 587;
WebMail.UserName = "name";
WebMail.Password = "pass";
WebMail.From = "fromaddres";
發送確認電子郵件超鏈接返回我的HttpRequestValidationException。
我試着用WebMail.Send()方法制作測試郵件頁面。一些代碼:
try{
if(IsPost){
WebMail.Send(
to: Request.Form["emailAddress"],
subject: Request.Form["emailSubject"],
body: Request.Form["emailBody"],
isBodyHtml: true
);
message = "Email sent!";
}
}catch(HttpRequestValidationException){
}catch(Exception ex){
message = "Email could not be send! Error: "+ex.Message;
}
如果我在'emailBody'中輸入一個純文本。電子郵件發送正確。
但是,如果我在輸入文本的某處寫了任何html標記,例如超鏈接或段落,它會給我返回相同的異常,並說'emailBody'輸入內容可能具有潛在的危險性。
有人可以說我在做什麼錯或如何解決這個問題?
編輯:
溶液設置 「isBodyHtml」 參數設置爲false。 從「emailBody」中刪除所有html標籤,然後只需用url寫入純文本
(例如「您好,訪問此網站:www.google.com」) 在收到的電子郵件中,我收到了一個包含指向所需站點的鏈接的文本。
無論如何發送<a>
鏈接將是有用的。
還是一樣的異常。除禁用驗證之外,還有其他方式可以做到這一點嗎? –