注册 登录
编程论坛 ASP.NET技术论坛

using System.Web.Mail发送邮件的疑惑

wxm198427 发布于 2011-05-05 09:57, 730 次点击
这个是我发送成功的代码:
m_Mail=new MailMessage();
string Email="xxx@";
string[] TempEmail=Email.Split("@".ToCharArray());
            m_Mail.Fields.Add("http://schemas., "1");
            m_Mail.Fields.Add("http://schemas., "xxx@");
            m_Mail.Fields.Add("http://schemas., "mima");

            m_Mail.To=Email;
            m_Mail.From=xxx@;
            m_Mail.BodyEncoding=System.Text.Encoding.UTF8;
            m_Mail.Priority=System.Web.Mail.MailPriority.High;
            m_Mail.Subject="关于";
            m_Mail.BodyFormat=System.Web.Mail.MailFormat.Text;
            m_Mail.Body="您好";

            SmtpMail.SmtpServer="smtp."+TempEmail[1].ToString();
            SmtpMail.Send(m_Mail);
            Page.RegisterStartupScript("re","<script>alert('已通知');</script>");
请注意红色代码处。以下是错误的发送代码:
m_Mail=new MailMessage();
string Email="xxx@";
string[] TempEmail=Email.Split("@".ToCharArray());
            m_Mail.Fields.Add("http://schemas., "1");
            m_Mail.Fields.Add("http://schemas., "xxx@");
            m_Mail.Fields.Add("http://schemas., "mima");

            m_Mail.To=Email;
            m_Mail.From=xxx@;
            m_Mail.BodyEncoding=System.Text.Encoding.UTF8;
            m_Mail.Priority=System.Web.Mail.MailPriority.High;
            m_Mail.Subject="关于";
            m_Mail.BodyFormat=System.Web.Mail.MailFormat.Text;
            m_Mail.Body="您好";

            SmtpMail.SmtpServer="smtp."+TempEmail[1].ToString();
            SmtpMail.Send(m_Mail);
            Page.RegisterStartupScript("re","<script>alert('已通知');</script>");
在VS2003环境下的测试程序,总结如下:第一,红色部分表明,这段程序只能自己给自己发邮件,因为TO和 FROM要一致才执行成功。
第二、 m_Mail.Fields.Add("http://schemas., "xxx@);
            m_Mail.Fields.Add("http://schemas., "mima");
这2句,其中的用户名和密码的设置,因为我是用自己的油箱测试的,所以,当上面第一句的后面的直输入和TO的直就是收件人不同的时候,发送错误,密码同理。所以疑问就出来了,难道这个程序要给别人发邮件还要知道对方的油箱密码吗?这2句到底是什么意思?是发送人的油箱帐号和密码呢,还是收件方的用户名和密码?我都搞不董了。请高手支着,网上收了很多很多,但都是COPY来COPY去的,没有深入的解释,请高手支着,谢谢


[ 本帖最后由 wxm198427 于 2011-5-5 10:03 编辑 ]
2 回复
#2
yms1232011-05-06 09:11
是发件人的邮箱账号和密码,一些smtp邮件发送服务器是要登录的
#3
hhy4204596742011-05-09 20:45
我刚刚才做了个邮件系统,不过我不是你这样子做的,我没有研究过你这种做法,因为当时觉得很复杂,所以就用了下面这种方式给你个简单的例子:
MailMessage mm = new MailMessage();
mm.From = xxxx@
mm.To = xxxx@
mm.subject = "这是主题";
mm.body = "这事正文。";
SmtpMail sm = new SmtpMail("stmp.);     //服务器域名
sm.send(mm);        //发送
1