高分求asp.net 接收邮件源码 如标题,最好有demo 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去51aspx上面输入邮件系统,自然就会有了,祝你好运。 刚刚上传到我的上传中找http://zcl24.download.csdn.net/ http://download.csdn.net/source/1772854 下载频道里POP3收邮件的例子有很多 谢谢提醒,但是找到有用的太难了,请问哪位大虾有自己做过的demo吗 用163邮箱测试1、LumiSoft.Net(中文解码不好) 2、jmail (同上)3、openPop (新建的用户进不了) 1.cs类public SqlDataReader GetSingleUser(string name) { // 创建一个数据库连接实例和命令对象。 SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]); SqlCommand myCommand = new SqlCommand("GetSingleUserByName", myConnection); // 把命令对象的命令类型设置为存储过程。 myCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameterName = new SqlParameter("@name", SqlDbType.NVarChar,50); parameterName.Value = name; myCommand.Parameters.Add(parameterName); // 执行命令。 myConnection.Open(); SqlDataReader reader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); return reader; }2.button事件 protected void btncheck_Click(object sender, EventArgs e) { try { SqlDataReader dr = user.getpwd(tbname.Text.Trim()); if (dr.Read()) { div1.Visible = false; div2.Visible = true; tbquestion.Text = dr["question"].ToString(); Session["pwd"] = user.Decrypto(dr["password"].ToString()); Session["ans"] = dr["answer"].ToString(); Session["email"] = dr["email"].ToString(); tbquestion.ReadOnly = true; } else { div3.Visible = true; div3.InnerHtml = "<br><font color=red>对不起!您所输入的用户名验证不存在!</font>"; } } catch (Exception ex) { //Response.Write(ex.ToString()); Response.Write("<script language=javascript>window.alert('程序错误!');</script>"); } }3.web.config设置<add key="smtpserver" value="smtpserver"/><add key="webmaster" value="[email protected]"/>4.存储过程created procedure GetSingleUser(@ItemId int)as selectItemId,Name,Password,Emailfrom Userswhere ItemId=@ItemIdgo5.里面的参数根据你自己的实际情况改下 我要的是接收,中文解析无乱码,支持ssl连接 兄弟试一下JMAIL 我也在搞这个问题 using Jmail; protected void btnSend_Click(object sender, EventArgs e) { sendEmail(txtSender.Text.Trim(), txtSUser.Text.Trim(), txtEUser.Text.Trim(), txtEPwd.Text.Trim(), txtReceiver.Text.Trim(), txtSubject.Text.Trim(), txtContent.Text.Trim(), txtEServer.Text.Trim()); } public void sendEmail(string sender, string senderuser, string euser, string epwd, string receiver, string subject, string body, string eserver) { jmail.MessageClass jmMessage = new jmail.MessageClass(); jmMessage.Charset = "GB2312"; jmMessage.ISOEncodeHeaders = false; jmMessage.From = sender; jmMessage.FromName = senderuser; jmMessage.Subject = subject; jmMessage.MailServerUserName = euser; jmMessage.MailServerPassWord = epwd; jmMessage.AddRecipient(receiver, "", ""); if (ddlAccessories.Items.Count > 0) { for (int i = 0; i < ddlAccessories.Items.Count; i++) { string path = ddlAccessories.Items[i].Value; jmMessage.AddAttachment(@path, true, ""); } } jmMessage.Body = body; if (jmMessage.Send(eserver, false)) { Page.RegisterClientScriptBlock("ok", "<script language=javascript>alert('发送成功')</script>"); } else { Page.RegisterClientScriptBlock("ok", "<script language=javascript>alert('发送失败,请仔细检查邮件服务器的设置是否正确!')</script>"); } jmMessage = null; } Jmail有乱码,我这几天的研究得到一个结论,中国的邮箱发送的邮件不完全按照Mime格式来发,所以那些开源软件就不能适应复杂的情况,我现在算是佩服微软和163写邮件解码的程序员了 参考:ASP.NET 2.0 接收邮件 我今天调试了openPop源码,只要不嵌套分界符,中文解析在我测试的邮件中是正确的,嵌套就不行了 适用于VS2005 WEB版的。 //メールの送信者を設定する mailNew.From = new MailAddress(strUserMail, this.UserName); //ループで、宛先を取得する for (int i = 0; i < this.lstAtesaki.Items.Count; i++) { mailNew.To.Add(new MailAddress(lstAtesaki.Items[i].Value, ((string[])lstAtesaki.Items[i].Text.Split(':'))[0].ToString())); } //ループで、CCを取得する for (int i = 0; i < this.lstCC.Items.Count; i++) { mailNew.CC.Add(new MailAddress(lstCC.Items[i].Value, ((string[])lstCC.Items[i].Text.Split(':'))[0].ToString())); } mailNew.IsBodyHtml = false; mailNew.Priority = MailPriority.Normal; mailNew.Subject = "【" + this.ProjectRyakusyou + "】"; mailNew.Body = sbNaiyo.ToString(); //メールを送付する SmtpClient smtp = new SmtpClient(); smtp.Host = "163.com"; smtp.Send(mailNew); http://www.zu14.cn/2008/12/28/net_pop3_revise/ 三角猫的我试过还是有乱码,本来想改源码的,但发现读字符操作的函数看不明白,还是没弄了,现在用openPop 的 一般符合规范的还是能解出来,解不出来的调试一下,发现源码逻辑还是比较清楚的 ,比较容易改,谢谢大家热心的帮助 升级成VS2010后就出现“未能加载文件或程序集”错误 fckeditor 修改上传图片名称为时间格式 |zyciis| asp.net如何来正确提交POST过来的数据,谢谢 有代码 菜鸟请教:如何实现,数据的滚动?? 给iframe传值 关于code-behind,我的无法显示,求教原因 Ext.fly()为空或不是对象,小弟刚学ajax框架,不怎么熟悉,请教高手! 关于自定义控件的问题 在asp.net中IsPostBack是什么意思?? 能不能用循环动态生成ID 不同的多个服务器端控件 上传服务器配置问题 xml repeater问题
http://zcl24.download.csdn.net/
1、LumiSoft.Net(中文解码不好)
2、jmail (同上)
3、openPop (新建的用户进不了)
public SqlDataReader GetSingleUser(string name)
{
// 创建一个数据库连接实例和命令对象。
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
SqlCommand myCommand = new SqlCommand("GetSingleUserByName", myConnection); // 把命令对象的命令类型设置为存储过程。
myCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameterName = new SqlParameter("@name", SqlDbType.NVarChar,50);
parameterName.Value = name;
myCommand.Parameters.Add(parameterName); // 执行命令。
myConnection.Open();
SqlDataReader reader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); return reader; }
2.button事件
protected void btncheck_Click(object sender, EventArgs e)
{
try
{
SqlDataReader dr = user.getpwd(tbname.Text.Trim());
if (dr.Read())
{
div1.Visible = false;
div2.Visible = true;
tbquestion.Text = dr["question"].ToString();
Session["pwd"] = user.Decrypto(dr["password"].ToString());
Session["ans"] = dr["answer"].ToString();
Session["email"] = dr["email"].ToString();
tbquestion.ReadOnly = true;
}
else
{
div3.Visible = true;
div3.InnerHtml = "<br><font color=red>对不起!您所输入的用户名验证不存在!</font>";
}
}
catch (Exception ex)
{
//Response.Write(ex.ToString());
Response.Write("<script language=javascript>window.alert('程序错误!');</script>");
}
}
3.web.config设置
<add key="smtpserver" value="smtpserver"/>
<add key="webmaster" value="[email protected]"/>
4.存储过程
created procedure GetSingleUser
(@ItemId int)
as select
ItemId,
Name,
Password,
Email
from Users
where
ItemId=@ItemId
go5.里面的参数根据你自己的实际情况改下
{
sendEmail(txtSender.Text.Trim(), txtSUser.Text.Trim(), txtEUser.Text.Trim(), txtEPwd.Text.Trim(), txtReceiver.Text.Trim(), txtSubject.Text.Trim(), txtContent.Text.Trim(), txtEServer.Text.Trim());
}
public void sendEmail(string sender, string senderuser, string euser, string epwd, string receiver, string subject, string body, string eserver)
{
jmail.MessageClass jmMessage = new jmail.MessageClass();
jmMessage.Charset = "GB2312";
jmMessage.ISOEncodeHeaders = false;
jmMessage.From = sender;
jmMessage.FromName = senderuser;
jmMessage.Subject = subject;
jmMessage.MailServerUserName = euser;
jmMessage.MailServerPassWord = epwd;
jmMessage.AddRecipient(receiver, "", "");
if (ddlAccessories.Items.Count > 0)
{
for (int i = 0; i < ddlAccessories.Items.Count; i++)
{
string path = ddlAccessories.Items[i].Value;
jmMessage.AddAttachment(@path, true, "");
}
}
jmMessage.Body = body;
if (jmMessage.Send(eserver, false))
{ Page.RegisterClientScriptBlock("ok", "<script language=javascript>alert('发送成功')</script>");
}
else
{
Page.RegisterClientScriptBlock("ok", "<script language=javascript>alert('发送失败,请仔细检查邮件服务器的设置是否正确!')</script>");
}
jmMessage = null;
}
ASP.NET 2.0 接收邮件
//メールの送信者を設定する
mailNew.From = new MailAddress(strUserMail, this.UserName); //ループで、宛先を取得する
for (int i = 0; i < this.lstAtesaki.Items.Count; i++)
{ mailNew.To.Add(new MailAddress(lstAtesaki.Items[i].Value,
((string[])lstAtesaki.Items[i].Text.Split(':'))[0].ToString()));
} //ループで、CCを取得する
for (int i = 0; i < this.lstCC.Items.Count; i++)
{ mailNew.CC.Add(new MailAddress(lstCC.Items[i].Value,
((string[])lstCC.Items[i].Text.Split(':'))[0].ToString())); } mailNew.IsBodyHtml = false;
mailNew.Priority = MailPriority.Normal;
mailNew.Subject = "【" + this.ProjectRyakusyou + "】";
mailNew.Body = sbNaiyo.ToString(); //メールを送付する
SmtpClient smtp = new SmtpClient();
smtp.Host = "163.com";
smtp.Send(mailNew);