如何将网页表单中提交的信息自动发送到指定邮箱?

看到了.NET 提供System.Web.Mail和System.Net.Mail两个NameSpace,但是用哪一个,两者有何区别,目前不清楚,正在学习中……

=========================================
2006-3-11  更新

这个问题得到了初步解决!下面是code:

<%@ Page Language="C#" %>

<%@ Import Namespace="System.Net.Mail" %>
<%@ Import Namespace="System.Net" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        string mailfrom = Request.Form["txtFrom"];
        string mailto = Request.Form["txtTo"];
        string mailsub = Request.Form["txtSub"];
        string mailbody = Request.Form["txaBody"];
       
       
        if ( !Page.IsPostBack )
        {
            try
            {

                Mess(mailfrom, mailto, mailsub, mailbody);
               
                ErrorMessage.Text = "succeed!";
                Info.Text  = "From:"+mailfrom;
                Info1.Text = "To:" + mailto;
                Info2.Text = "Sub:" + mailsub;
                Info3.Text = "Content:" + mailbody;
            }
           catch
           {
                ErrorMessage.Text = "Sorry,Error!";
           }
        }
         
    }
   
    protected void Mess(string from,string to,string subject,string body)
    {
       
        SmtpClient Client = new SmtpClient("mail.zcom.com.cn");
        Client.DeliveryMethod = SmtpDeliveryMethod.Network; //用到了System.Net 命名空间
        Client.Credentials = new NetworkCredential("yourname@domain","password");
       
        MailMessage Message = new MailMessage(from,to,subject,body);
        Message.BodyEncoding = System.Text.Encoding.UTF8;
        //Message.BodyEncoding = System.Text.Encoding.Unicode;
        //Message.SubjectEncoding = System.Text.Encoding.Unicode;
       
        Client.Send(Message);
             
        Message.Dispose();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>邮件测试</title>
</head>
<body>
    <form id="form1" runat="server"  >
        <div>
            <asp:Label ID="ErrorMessage" runat="server"></asp:Label><br />
            <asp:Label ID="Info" runat="server"></asp:Label><br />
            <asp:Label ID="Info1" runat="server"></asp:Label><br />
            <asp:Label ID="Info2" runat="server"></asp:Label><br />
            <asp:Label ID="Info3" runat="server"></asp:Label>
        </div>
    </form>
</body>
</html>

从Form 中获得信息,然后显示发送是否成功!但是发送中文,收到的都是乱码,如果有知道解决办法的朋友请告知,感谢!

posted on 2006-03-02 09:38  creanlin  阅读(6214)  评论(6编辑  收藏  举报

导航