用MailMessage发邮件碰到了奇怪问题。
小弟用MailMessage发送Html格式的邮件。邮件中可能包括一张图片或者一个swf文件。请看下面这段代码,其中[CHART]决定它们出现的位置:
If strPath.Substring(strPath.Length - 3).ToLower <> "swf" Then
strTemplate = strTemplate.Replace("[CHART]", "<img border=0 src='" + strPath + "'>")
Else
'strTemplate = strTemplate.Replace("[CHART]", "<img border=0 src='" + strPath + "'>")
strTemplate = strTemplate.Replace("[CHART]", "<object><embed src='" + strPath + "'></object>")
End If
strPath是要包括的图片或者swf文件的地址。如果是swf格式。则用object标签来呈现。否则就使用img标签。
问题是:当要包括的是图片时。邮件可以正常发送。在收到的邮件中也能看到这张图片。但如果发送的是swf文件。邮件也可以正常发送。但是收到的邮件中看不到这个swf。我查看源文件发现object这一段代码根本就不存在.而我如果把swf文件也用img标签来呈现(注释掉那一段)。那么在收到的邮件的html源文件可以看到这一段img src=...swf 的代码(当然,显示不出来). 或者我直接把[CHART]替换成path也可以在邮件中看到这一段代码。
看起来好像object这个标签在传输过程中被过滤掉了。
请兄弟朋友们帮忙看看。