Asp.net 向电子邮件添加附件

Asp.net 向电子邮件添加附件,asp.net,vb.net,Asp.net,Vb.net,任何人都可以整理出以下代码,使添加附件的电子邮件工作,请 谢谢 <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="ISO-8859-1" Debug="true" %> <% @Import Namespace="System.Web.Mail" %> <% @Import Namespace="IO" %> <script language="vb" runat="ser

任何人都可以整理出以下代码,使添加附件的电子邮件工作,请

谢谢

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="ISO-8859-1" Debug="true" %>
<% @Import Namespace="System.Web.Mail" %>
<% @Import Namespace="IO" %>

<script language="vb" runat="server">

Sub btnSendEmail_Click(sender as Object, e as EventArgs)

  Dim objMM as New MailMessage()

  objMM.To = "my@email.co.uk"
  objMM.From = "their@email.co.uk"
  objMM.BodyFormat = MailFormat.HTML
  objMM.Priority = MailPriority.Normal
  objMM.Subject = "Attachment test"
  objMM.Body = "There should be an attachment with this email"

  objMM.Attachments.Add(new MailAttachment("myimage.jpg"))

  SmtpMail.SmtpServer = "localhost"
  SmtpMail.Send(objMM)

End Sub

</script>

<html>
<head>
</head>
<body>
    <form runat="server">
        <asp:Button runat="server" id="btnSendEmail" Text="Send email" OnClick="btnSendEmail_Click" />
    </form>
</body>
</html>

子BTN发送邮件\u单击(发件人作为对象,e作为事件参数)
Dim objMM作为新邮件消息()
objMM.To=”my@email.co.uk"
objMM.From=”their@email.co.uk"
objMM.BodyFormat=MailFormat.HTML
objMM.Priority=MailPriority.Normal
objMM.Subject=“附件测试”
objMM.Body=“此电子邮件应有附件”
添加(新邮件附件(“myimage.jpg”))
SmtpMail.SmtpServer=“localhost”
SmtpMail.Send(objMM)
端接头
我怀疑

new MailAttachment("myimage.jpg")
我想你可能想得到完整的路径

new MailAttachment(Server.MapPath("Myimage.jpg"))

文件路径必须是完整路径,但除此之外,
System.Web.Mail
已弃用/过时。您应该使用
System.Net.Mail
API,请参阅示例。

谢谢您的帮助。。。我是新加入.net的,所以像这样的事情非常感谢。好的。。。所以,接受这条建议似乎会在代码的TO、FROM、BodyFormat、Attachment和SMTP部分产生各种其他错误。。。有人能给我指出解决这些新问题的正确方向吗?@Tom:听起来你在混合System.Net和System.Web API-我建议你要么按照以前的状态,但修复文件路径(最快的解决方案,但将来的维护开销)或者将示例复制并粘贴到MSDN上,然后修改需要修改的部分。这种方式需要最熟练的编码,但将来是安全的。(尽可能多)。如果您仍然有问题,那么发布新代码,我们将对此进行研究。