用.net 怎样完成用户注册激活?不懂 求各位帮忙了 做好有例子
解决方案 »
- MsChart控件X轴文字颠倒
- 关于URLRewriter在IIS7.0重写的问题,在线等~
- 为什么aspx和html的编码会不一样
- 在线论坛的设计和开发
- WINDOW.OPEN() 谢谢!
- 哪里有网络办公自动化的文档和源码下载.
- 请教在web页面中使用treeview控件,有哪个事件可实现“在树目录中点击一个节点,然后在这个节点的下面添加子节点”!!紧急求助
- 请问通过ExecuteNonQuery()执行的insert操作如何得到新添加行产生的id?
- 请教ASP.NET的CooKie问题?
- 谈谈同步服务器端和客户端文件的解决方案
- 关于TreeView控件与母版页的问题
- 高分求解 HyperLinkColumn Text动态参数的问题
需要的话给我刘个邮箱,我给你发一个资料
using System.Web.Mail;
首先看看利用Inter网上的SMTP服务器来发邮件,现在普遍是登陆SMTP需要验证的。这里我们使用的是网易的邮件服务器。
private void SendMailBySMTP()
{
// 使用一个SMTP的服务器,并且通过验证
MailMessage mailobj = new MailMessage();
mailobj.From = "[email protected]";
mailobj.To = "[email protected]";
mailobj.Subject = "测试";
mailobj.BodyFormat = MailFormat.Text;
mailobj.Body = "看到了么?";
// 通过SMTP服务器验证
mailobj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mailobj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
mailobj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "userpassword");
SmtpMail.SmtpServer = "smtp.126.com";
SmtpMail.Send(mailobj);
}
注意:如果使用需要验证的SMTP服务器来发送信件,那么要确保你在这个邮件服务上有合法的注册用户。而且mailobj.From必须也是你自己。也就是说,全部是真实的信息。当然,我发现如果你可以改发件人的名称。比如,我们这样写
mailobj.From = "干部<[email protected]>";
这样在SMTP服务商同样能验证通过,对于收件人来说在收到邮件时会看到比较个性的发件人名称(eyou会显示为“干部<[email protected]>”而网易会显示为“干部”)。当然不论怎么显示,你发信时的EMail地址肯定对方是能知道的,可以给你回复。再有,我想可能有些邮件服务器对一些敏感字符作了过滤,我遇上一次,记不得是哪家了。
接下来是用自己的服务器发信了,这个比较爽,也比较狠。
首先要保证你的服务器上有IIS,并运行和配置好“SMTP虚拟服务器”。
先来说说如何搞定SMTP吧[以WindowsXP IIS5 为例]:
1.开启IIS-SMTP服务
2.SMTP的右键菜单-属性-访问-中继
两种方法:选择“仅以下列表”添加“127.0.0.1”或者选择“仅以下列表除以”不添加任何IP[这样是允许全部用户,不建议这样,否则你的机器在网上运行一阵就让垃圾邮件给玩死了]。
邮件在发送、失败、等待队列……都在"C:\Inetpub\mailroot\"下的对应文件夹里。
好了,看代码:
private void SendMailByLocalhost()
{
// 使用自己的虚拟邮件服务器
MailMessage mailobj = new MailMessage();
mailobj.From = "只要不空的就可以"; // 只是说程序本身不会出错
mailobj.To = "[email protected]";
mailobj.Subject = "测试";
mailobj.BodyFormat = MailFormat.Text;
mailobj.Body = "看到了么?";
SmtpMail.SmtpServer = "localhost";
SmtpMail.Send(mailobj);
}
代码很少,而且“发信的速度”明显比上一种方法要快,当然了,其实是提交到本机虚拟邮件服务发送队列而已。
这里要说的是,这种方法真的比较狠:
有的邮件系统根本不校验发送方的EMail是不是合法,mailobj.From填什么它都照单全收给自己的用户。
有的邮件系统则要看看发送方的EMail是不是合法,如果不合法有的会做垃圾邮件处理,有的会“消失”了(真的不知道去哪里了),有的会在本机的C:\Inetpub\mailroot\的子文件夹下滞留。sina的邮箱最怪,用这种方式不过From写的是真是假一概发不出,而且一直在Queue里挂着。比较郁闷……暂时还不明白为什么,也许别人看看是不是能试验成功。或是有什么解决办法记得告诉我。
是不是比较狠?我本人最烦的垃圾邮件就这样肆虐了!
<%@ page Language = "C#" debug = "true" Explicit="True"
%>
<%@ Import Namespace = "System.Web.Util" %>
<%@ Import Namespace = "System.Web.Mail" %>
<script language = "C#" runat = "server">
public void SendMail (Object Obj, EventArgs E) {
labelSendMailResult.Text = "";
if (Page.IsValid) {
MailMessage mailObj = new MailMessage();
// 设置email的'from'和'to'的地址
mailObj.From = inputMailFrom.Value;
mailObj.To = inputMailTo.Value;
mailObj.Subject = inputMailSubject.Value;
mailObj.Body = textBoxMailBody.Text;
// 可选: 使用html格式的Email
mailObj.BodyFormat = MailFormat.Html;
// 可选: 对邮件进行加密
// mailObj.BodyEncoding = MailFormat.Base64;
// 可选: 设置邮件的优先级别为高
mailObj.Priority = MailPriority.High;
// 可选: 附件
if (inputMailAttachment.PostedFile.ContentLength > 0) {
// 注意这里我们创建了一个MailAttachment对象来附加一个文
件到email。
mailObj.Attachments.Add(new
MailAttachment(inputMailAttachment.PostedFile.FileName)
);
}
// 使用SmtpMail对象来发送邮件。
SmtpMail.Send(mailObj);
labelSendMailResult.Text = "邮件发送成功 From: " +
inputMailFrom.Value + "; T " + inputMailTo.Value;
if (inputMailAttachment.PostedFile.ContentLength > 0) {
labelSendMailResult.Text += "<br>该邮件包含附件: " +
inputMailAttachment.PostedFile.FileName + ", 附件大小为
: " + (inputMailAttachment.PostedFile.ContentLength /
1024).ToString() + " K Byte(s)";
}
}
}
</script>
<html>
<head>
<title>
发送邮件 ASP.NET</title>
</head>
<body>
<div align="center">
<table width="100%" border="0" cellpadding="0"
cellspacing="0" style="border-collapse: collapse"
bordercolor="#eeeeee" id="AutoNumber1">
<form id="formMail" method="post" action=""
enctype="multipart/form-data" runat="server">
<tr>
<td width="20%" height="24">收件人地址: </td>
<td width="80%" height="24">
<input type="text" id="inputMailTo" name="inputMailTo"
runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailTo"
ControlToValidate="inputMailTo"
Display="Static"
EnableClientScript="False"
ErrorMessage="收件人不能为空"
runat="server"/>
<asp:RegularExpressionValidator
id="RegularExpressionValidatorInputMailTo"
ControlToValidate="inputMailTo"
ValidationExpression="^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
Display="Static"
EnableClientScript="false"
ErrorMessage="收件人邮件地址错误"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">发件人地址: </td>
<td width="80%" height="24">
<input type="text" id="inputMailFrom"
name="inputMailFrom" runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailFrom"
ControlToValidate="inputMailFrom"
Display="Static"
EnableClientScript="False"
ErrorMessage="发件人不能为空"
runat="server"/>
<asp:RegularExpressionValidator
id="RegularExpressionValidatorInputMailFrom"
ControlToValidate="inputMailFrom"
ValidationExpression="^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
Display="Static"
EnableClientScript="false"
ErrorMessage="发件人邮件地址错误"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件主题: </td>
<td width="80%" height="24">
<input type="text" id="inputMailSubject"
name="inputMailSubject" runat="server" size="48">
<asp:RequiredFieldValidator
id="RequiredFieldValidatorInputMailSubject"
ControlToValidate="inputMailSubject"
Display="Static"
EnableClientScript="False"
ErrorMessage="邮件主题不能为空"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件内容:
</td>
<td width="80%" height="24">
<asp:TextBox id="textBoxMailBody"
name="textBoxMailBody" runat="server" Rows="6"
Cols="48" TextMode="MultiLine" />
<asp:RequiredFieldValidator
id="RequiredFieldValidatorTextBoxMailBody"
ControlToValidate="textBoxMailBody"
Display="Static"
EnableClientScript="False"
ErrorMessage="邮件内容不能为空"
runat="server"/>
</td>
</tr>
<tr>
<td width="20%" height="24">邮件附件:
</td>
<td width="80%" height="24">
<input type="file" id="inputMailAttachment"
name="inputMailAttachment" runat="server" size="48">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="Send Mail"
OnServerClick="SendMail" id="buttonSendMail"
name="buttonSendMail" runat="server">
</td>
</tr>
<tr>
<td colspan="2" align="center" height="24">
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Label id="labelSendMailResult" runat="server"
text="" font-bold="True" forecolor="#FF0000"/>
</td>
</tr>
</form>
</table>
</div>
</body>
</html>
发邮件的代码一堆,关键看你用什么组件发了。
给我也发一份吧,谢谢了!!!!!!!邮箱:[email protected] [email protected]
郑重声明,很严重的谢谢您。
郑重声明,很严重的谢谢您。