邮箱发送的实现?急救!!急救!!! 平时,我在忘记密码的时候。输入邮箱等相关信息,会把账号和密码发送到你的邮箱!这是怎么实现的? 我现在能够得到账号和密码。就是不知道怎么发送去邮箱。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #region##修改密码 /// <summary> /// 修改密码 /// </summary> /// <param name="email"></param> /// <param name="pass"></param> /// <returns></returns> public int Sends(string email, string pass) { int i = 0; string formto = "[email protected]"; string to = email; string content = "密码修改通知:"; string body = "您的密码已经修改为:"; body += pass; string name = "发件箱"; string upass = "发件箱密码"; string smtp = "stmp服务器地址"; SmtpClient _smtpClient = new SmtpClient(); _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 _smtpClient.Host = smtp; //指定SMTP服务器 _smtpClient.Credentials = new System.Net.NetworkCredential(name, upass);//用户名和密码 MailMessage _mailMessage = new MailMessage(); //发件人,发件人名 _mailMessage.From = new MailAddress(formto, "邮件名"); //收件人 _mailMessage.To.Add(to); _mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312"); _mailMessage.Subject = content;//主题 _mailMessage.Body = body;//内容 _mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//正文编码 _mailMessage.IsBodyHtml = true;//设置为HTML格式 _mailMessage.Priority = MailPriority.High;//优先级 try { _smtpClient.Send(_mailMessage); i = 1; } catch (Exception) { i = 0; } return i; } #endregion 找回密码时。。可以生成一个几位的随机数NUM Encoding encoding = Encoding.GetEncoding("utf-8"); MailAddress from = new MailAddress("你的邮箱", "主题", encoding); MailAddress to = null; SmtpClient smtp = new SmtpClient("邮件服务器如smtp.163.com"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = true; smtp.Credentials = new NetworkCredential("邮箱用户", "密码"); MailMessage mail = null; to = new MailAddress("接收人邮箱"); mail = new MailMessage(from, to); mail.IsBodyHtml = true; mail.Subject = this.txtSubject.Text.Trim();//主题 mail.Body = mailContent.Trim();//邮件内容 mail.SubjectEncoding = encoding; mail.BodyEncoding = encoding; if (ckReturn.Checked) { mail.Headers.Add("ReturnReceipt", "1"); } smtp.Send(mail); this.lblInfo.Text = "发送成功,请查收!"; 发送到哪个邮箱?不还是发送邮件的问题么 public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody) { SmtpClient client = new SmtpClient(strSmtpServer); client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass); client.DeliveryMethod = SmtpDeliveryMethod.Network; MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody); message.BodyEncoding = System.Text.Encoding.UTF8; message.IsBodyHtml = true; client.Send(message); }调用try { SendSMTPEMail("smtp.qq.com", "[email protected]", "lishuai1030", "[email protected]", TextBox1.Text, "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功"); } catch (Exception er) { Response.Write(er.Message); } } //第一个参数是邮箱服务器 //第二个参数发件人的帐号 //第三个参数发件人密码 //第四个参数收件人帐号 //第五个参数主题 //第六个参数内容.引用命名空间using System.Net.Mail;利用QQ邮箱服务器发送 进入QQ邮箱 开通smtp服务在邮箱的设置-账户下边选中开启IMAP/SMTP服务这样就可以利用你的QQ邮箱发送邮件了 做的一个例子,你看是不是要这样的啊 忘记密码: protected void btnSend_Click(object sender, EventArgs e) { if (RegularMatch.IsValidpswLength(txtName.Text.Trim()) == false) { response.write("请输入正确的用户名"); return; } if (RegularMatch.IsValidEmail(txtEamil.Text.Trim())==false) { response.write("请输入正确的注册邮箱地址"); return; } List<string> list = new List<string>(); CustomerForgotPassword bll = new CustomerForgotPassword(); CustomerForgotPassword model = new CustomerForgotPassword(); model.Email = txtEamil.Text.Trim(); model.CustomerCode = txtName.Text; DateTime dt = DateTime.Now; model.FindDate = dt; model.MaturityDate = dt.AddDays(1); model.Status = 0; list.Add(bll.strAdd(model)); // 添加数据的方法 string url = Security.EncryptQueryString(txtName.Text.Trim()); //加密路径 if (DbHelperSQL.ExecuteSqlTran(list) > 0) { StringBuilder strHtml = new StringBuilder(); strHtml.Append("亲爱的" + txtName.Text.Trim()); strHtml.Append(" 您好:<br/>"); string URl = "http://你要连接的网址/User/Resetpassword.aspx?N=" + Security.EncryptQueryString(txtName.Text.Trim()) + "&E=" + Security.EncryptQueryString(txtEamil.Text.Trim()) + "&d=" + Security.EncryptQueryString(dt.ToString().Trim()); strHtml.Append(URl+"<br/>"); NetMail.Send(txtEamil.Text.Trim(), "[email protected]", "网站名称", strHtml.ToString(), "poocanli", "poocan", "smtp.163.com"); response.write("../index.aspx", "修改密码已发送到你的邮箱,请查收"); } else { Jscript.JsAlert("操作失败!", this.Page); }上面的send方法如下:命名空间:using System.Net.Mail;using System.Net; /// <summary> /// 发送邮件 /// </summary> /// <param name="to">收件人邮件地址</param> /// <param name="from">发件人邮件地址</param> /// <param name="subject">邮件主题</param> /// <param name="body">邮件内容</param> /// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param> /// <param name="password">登录smtp主机时用到的用户密码</param> /// <param name="smtpHost">发送邮件用到的smtp主机</param> public static void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost) { try { MailMessage message = new MailMessage(from, to); message.Subject = subject;//设置邮件主题 message.IsBodyHtml = true;//设置邮件正文为html格式 message.Body = body;//设置邮件内容 SmtpClient client = new SmtpClient(smtpHost); //设置发送邮件身份验证方式 //注意如果发件人地址是[email protected],则用户名是abc而不是[email protected] client.Credentials = new NetworkCredential(userName, password); client.Send(message); } catch (Exception ex) { } } 直接复制粘贴,修改相关参数看效果(邮箱必须开启IMAP/SMTP服务)<%@ Page Language="C#" %><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Net.Mail" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> /// <summary> /// 使用指定用户名和密码发送邮件 /// </summary> /// <param name="receiver">接收者保邮箱名(例[email protected])</param> /// <param name="username">发送邮箱名(例:[email protected])</param> /// <param name="password">发送者密码</param> public void SendMail(string receiver, string username, string password) { System.Net.Mail.SmtpClient client; client = new System.Net.Mail.SmtpClient("smtp.qq.com");//qq邮件服务器:smtp.qq.com,163邮件服务器:smtp.163.com client.Timeout = 60000; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(username,password); client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.SubjectEncoding = System.Text.Encoding.UTF8; message.BodyEncoding = System.Text.Encoding.UTF8; message.From = new System.Net.Mail.MailAddress(username, "张三", System.Text.Encoding.UTF8); message.To.Add(new System.Net.Mail.MailAddress(receiver, "李四", System.Text.Encoding.UTF8)); message.IsBodyHtml = true; message.Subject = "测试一下!"; message.Body = "测试一下!"; client.Send(message); } protected void Button1_Click(object sender, EventArgs e) { SendMail("改成接收者的邮箱", "发送者邮箱", "发送者密码"); }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server"> <title>发送邮件</title></head><body> <form runat="server" id="form1"> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="发送邮件" /> </form></body></html> 用Jmail组件试试,直接是一个组件只要适当的写写代码就行了的 测试报错命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first ! Sends("[email protected]", "123456");发送没报任何错误,但是,我邮箱里面没有接收到! 你的stmp服务器是自己企业邮箱的还是163什么的? 使用Interop.jmail.dll组件jmail.Message Jmail = new jmail.Message(); string strPath = System.Web.HttpContext.Current.Server.MapPath("~/a.html"); StreamReader sr = new StreamReader(strPath, System.Text.Encoding.Default); StringBuilder body = new StringBuilder(); body.Append(sr.ReadToEnd()); sr.Close(); string FromEmail = "[email protected]"; string ToEmail = ""; Jmail.Silent = true; Jmail.Logging = true; Jmail.Charset = "GB2312"; Jmail.ContentType = "text/html"; Jmail.AddRecipient(ToEmail, "", ""); Jmail.From = FromEmail; Jmail.MailServerUserName = ""; Jmail.MailServerPassWord = ""; Jmail.Subject = Subject; Jmail.ContentType="text/html"; Jmail.Body = body.ToString().Trim(); Jmail.Send("smtp.a.com", false); Jmail.Close(); private bool sendMail(string to, string title, string content) { SmtpClient _smtpClient = new SmtpClient(); _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式 _smtpClient.Host = fromSmtp; ;//指定SMTP服务器 _smtpClient.Credentials = new System.Net.NetworkCredential(fromUser, fromPwd);//用户名和密码 MailMessage _mailMessage = new MailMessage(from, to); _mailMessage.Subject = title;//主题 _mailMessage.Body = content;//内容 _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码 _mailMessage.IsBodyHtml = true;//设置为HTML格式 _mailMessage.Priority = MailPriority.High;//优先级 if (!string.IsNullOrEmpty(mailCC)) { _mailMessage.CC.Add(mailCC); } try { _smtpClient.Send(_mailMessage); return true; } catch(Exception ex) { WriteLog(to + "发送失败,错误信息:" + ex.Message); return false; } } using System.Web.Mail;public void SendEmail(to,from,content){ MailMessage msgMail = new MailMessage(); msgMail.To = to; msgMail.From = from; msgMail.Subject = "找回密码"; msgMail.BodyFormat = MailFormat.Text; msgMail.Body = content; try { SmtpMail.Send(msgMail); Response.Write("邮件发送成功."); } catch(Exception) { Response.Write("发送邮件失败."); }} string formto = "[email protected]";这个是不变吗? 不识别 安装server2003 asp.net服务器站点,有经验的哥指点下啊! javascript 如何判断名为rrr的节点是否存点 都在说三层架构,那么三层架构具体是怎么一步步做出来的呢? OA放到win2003上出现问题,求解!先谢了 求助:怎么把 dbnull类型转换为decimal类型。 关于MVC路由URL的修改,速结帖 ckeditor3.6不能上传本地图片怎么办? 窗体问题 ` 急 已经300分,请高手进来, HttpApplication的异步 怎样在WEB层添加对BLL层、Model层的引用
#region##修改密码
/// <summary>
/// 修改密码
/// </summary>
/// <param name="email"></param>
/// <param name="pass"></param>
/// <returns></returns>
public int Sends(string email, string pass)
{
int i = 0;
string formto = "[email protected]";
string to = email;
string content = "密码修改通知:";
string body = "您的密码已经修改为:";
body += pass;
string name = "发件箱";
string upass = "发件箱密码";
string smtp = "stmp服务器地址";
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = smtp; //指定SMTP服务器
_smtpClient.Credentials = new System.Net.NetworkCredential(name, upass);//用户名和密码
MailMessage _mailMessage = new MailMessage();
//发件人,发件人名
_mailMessage.From = new MailAddress(formto, "邮件名");
//收件人
_mailMessage.To.Add(to);
_mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
_mailMessage.Subject = content;//主题 _mailMessage.Body = body;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级
try
{
_smtpClient.Send(_mailMessage);
i = 1;
}
catch (Exception)
{
i = 0;
}
return i;
}
#endregion
MailAddress from = new MailAddress("你的邮箱", "主题", encoding);
MailAddress to = null;
SmtpClient smtp = new SmtpClient("邮件服务器如smtp.163.com");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new NetworkCredential("邮箱用户", "密码");
MailMessage mail = null;
to = new MailAddress("接收人邮箱");
mail = new MailMessage(from, to);
mail.IsBodyHtml = true;
mail.Subject = this.txtSubject.Text.Trim();//主题
mail.Body = mailContent.Trim();//邮件内容
mail.SubjectEncoding = encoding;
mail.BodyEncoding = encoding;
if (ckReturn.Checked)
{
mail.Headers.Add("ReturnReceipt", "1");
}
smtp.Send(mail);
this.lblInfo.Text = "发送成功,请查收!";
不还是发送邮件的问题么
public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
{
SmtpClient client = new SmtpClient(strSmtpServer);
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.Send(message);
}
调用
try
{
SendSMTPEMail("smtp.qq.com", "[email protected]", "lishuai1030", "[email protected]", TextBox1.Text, "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功"); }
catch (Exception er)
{
Response.Write(er.Message);
}
}
//第一个参数是邮箱服务器
//第二个参数发件人的帐号
//第三个参数发件人密码
//第四个参数收件人帐号
//第五个参数主题
//第六个参数内容.引用命名空间using System.Net.Mail;
利用QQ邮箱服务器发送 进入QQ邮箱 开通smtp服务
在邮箱的设置-账户下边选中开启IMAP/SMTP服务
这样就可以利用你的QQ邮箱发送邮件了
忘记密码:
protected void btnSend_Click(object sender, EventArgs e)
{
if (RegularMatch.IsValidpswLength(txtName.Text.Trim()) == false)
{
response.write("请输入正确的用户名");
return;
} if (RegularMatch.IsValidEmail(txtEamil.Text.Trim())==false)
{
response.write("请输入正确的注册邮箱地址");
return;
}
List<string> list = new List<string>();
CustomerForgotPassword bll = new CustomerForgotPassword();
CustomerForgotPassword model = new CustomerForgotPassword();
model.Email = txtEamil.Text.Trim();
model.CustomerCode = txtName.Text;
DateTime dt = DateTime.Now;
model.FindDate = dt;
model.MaturityDate = dt.AddDays(1);
model.Status = 0;
list.Add(bll.strAdd(model)); // 添加数据的方法
string url = Security.EncryptQueryString(txtName.Text.Trim()); //加密路径
if (DbHelperSQL.ExecuteSqlTran(list) > 0)
{
StringBuilder strHtml = new StringBuilder();
strHtml.Append("亲爱的" + txtName.Text.Trim());
strHtml.Append(" 您好:<br/>");
string URl = "http://你要连接的网址/User/Resetpassword.aspx?N=" + Security.EncryptQueryString(txtName.Text.Trim()) + "&E=" + Security.EncryptQueryString(txtEamil.Text.Trim()) + "&d=" + Security.EncryptQueryString(dt.ToString().Trim());
strHtml.Append(URl+"<br/>");
NetMail.Send(txtEamil.Text.Trim(), "[email protected]", "网站名称", strHtml.ToString(), "poocanli", "poocan", "smtp.163.com");
response.write("../index.aspx", "修改密码已发送到你的邮箱,请查收");
}
else
{
Jscript.JsAlert("操作失败!", this.Page);
}上面的send方法如下:
命名空间:
using System.Net.Mail;
using System.Net;
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="to">收件人邮件地址</param>
/// <param name="from">发件人邮件地址</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件内容</param>
/// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param>
/// <param name="password">登录smtp主机时用到的用户密码</param>
/// <param name="smtpHost">发送邮件用到的smtp主机</param>
public static void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost)
{
try
{ MailMessage message = new MailMessage(from, to);
message.Subject = subject;//设置邮件主题
message.IsBodyHtml = true;//设置邮件正文为html格式
message.Body = body;//设置邮件内容
SmtpClient client = new SmtpClient(smtpHost);
//设置发送邮件身份验证方式
//注意如果发件人地址是[email protected],则用户名是abc而不是[email protected]
client.Credentials = new NetworkCredential(userName, password);
client.Send(message);
}
catch (Exception ex) {
}
}
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Net.Mail" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> /// <summary>
/// 使用指定用户名和密码发送邮件
/// </summary>
/// <param name="receiver">接收者保邮箱名(例[email protected])</param>
/// <param name="username">发送邮箱名(例:[email protected])</param>
/// <param name="password">发送者密码</param>
public void SendMail(string receiver, string username, string password)
{
System.Net.Mail.SmtpClient client;
client = new System.Net.Mail.SmtpClient("smtp.qq.com");//qq邮件服务器:smtp.qq.com,163邮件服务器:smtp.163.com
client.Timeout = 60000;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(username,password);
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.From = new System.Net.Mail.MailAddress(username, "张三", System.Text.Encoding.UTF8);
message.To.Add(new System.Net.Mail.MailAddress(receiver, "李四", System.Text.Encoding.UTF8));
message.IsBodyHtml = true;
message.Subject = "测试一下!";
message.Body = "测试一下!";
client.Send(message);
} protected void Button1_Click(object sender, EventArgs e)
{
SendMail("改成接收者的邮箱", "发送者邮箱", "发送者密码");
}
</script><html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>发送邮件</title>
</head>
<body>
<form runat="server" id="form1">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="发送邮件" />
</form>
</body>
</html>
测试报错
命令顺序不正确。 服务器响应为: Error: need EHLO and AUTH first !
Sends("[email protected]", "123456");
发送没报任何错误,但是,我邮箱里面没有接收到!
jmail.Message Jmail = new jmail.Message();
string strPath = System.Web.HttpContext.Current.Server.MapPath("~/a.html");
StreamReader sr = new StreamReader(strPath, System.Text.Encoding.Default);
StringBuilder body = new StringBuilder();
body.Append(sr.ReadToEnd());
sr.Close();
string FromEmail = "[email protected]";
string ToEmail = "";
Jmail.Silent = true;
Jmail.Logging = true;
Jmail.Charset = "GB2312";
Jmail.ContentType = "text/html";
Jmail.AddRecipient(ToEmail, "", "");
Jmail.From = FromEmail;
Jmail.MailServerUserName = "";
Jmail.MailServerPassWord = "";
Jmail.Subject = Subject;
Jmail.ContentType="text/html";
Jmail.Body = body.ToString().Trim();
Jmail.Send("smtp.a.com", false);
Jmail.Close();
private bool sendMail(string to, string title, string content)
{
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = fromSmtp; ;//指定SMTP服务器
_smtpClient.Credentials = new System.Net.NetworkCredential(fromUser, fromPwd);//用户名和密码 MailMessage _mailMessage = new MailMessage(from, to);
_mailMessage.Subject = title;//主题
_mailMessage.Body = content;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级
if (!string.IsNullOrEmpty(mailCC))
{
_mailMessage.CC.Add(mailCC);
}
try
{
_smtpClient.Send(_mailMessage);
return true;
}
catch(Exception ex)
{
WriteLog(to + "发送失败,错误信息:" + ex.Message);
return false;
}
}
public void SendEmail(to,from,content)
{
MailMessage msgMail = new MailMessage();
msgMail.To = to;
msgMail.From = from;
msgMail.Subject = "找回密码";
msgMail.BodyFormat = MailFormat.Text;
msgMail.Body = content;
try
{
SmtpMail.Send(msgMail);
Response.Write("邮件发送成功.");
}
catch(Exception)
{
Response.Write("发送邮件失败.");
}
}
string formto = "[email protected]";这个是不变吗?