第一步: 先配置web.config文件,如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--数据库连接字符串-->
<add key="P_Con" value="server=(local);database=pub;UID=sa;Password=;"></add>
<!--smtp验证所需用户名-->
<add key="mailUser" value="你的邮箱用户名"></add>
<!--smtp验证所需密码-->
<add key="mailPwd" value="你的邮箱密码"></add>
<!--smtp服务器-->
<add key="mailSmtpServer" value="smtp.163.com"></add>
<!--发信人地址,必须为正确格式的Email地址-->
<add key="mailSender" value="###@163.com"></add>
<!--发信的主题-->
<add key="mailTitle" value="邮件标题"></add>
</appSettings>
第二步: 添加CDO引用(需要到相关网站下载CDO.dll文件)以及ADODB(.net自带)引用
第三步: 写Mail.cs类文件,代码如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace Mail.BLL
{
/// <summary>
/// Mail 的摘要说明。
/// </summary>
public class Mail
{
public Mail()
{
}
public static void CDOsendmail(string from, string to, string subject,
string body, string userName, string password, string smtpServer)
{
//声明新的邮件实例
CDO.Message Msg = new CDO.Message();
//分别设置发送人、收信人、主题、内容
Msg.From = from;
Msg.To = to;
Msg.Subject = subject;
Msg.HTMLBody = "<html><body>"+body
+"</body></html>";
//设置发送参数,包括smtpServer,用户名,密码
CDO.IConfiguration Config = Msg.Configuration;
ADODB.Fields oFields = Config.Fields;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value=userName;
oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value=password;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
oFields["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value=smtpServer;
oFields.Update();
//字符格式
Msg.BodyPart.Charset = "gb2312";
Msg.HTMLBodyPart.Charset = "gb2312";
//发送
Msg.Send();
Msg = null;
}
}
}
第四步:在相关页面中添加发送邮件事件
如下是一个.aspx文件,找回的密码会被发送到用户的邮箱里面:(Getbakckpassword.aspx)
<%@ Page language="c#" Codebehind="GetBackPassword.aspx.cs" AutoEventWireup="false" Inherits="job_17.GetBackPassword" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>GetBackPassword</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form ;
//数组索引随机数
int iRandNum;
//随机数生成器
Random rnd = new Random();
for(int i=0;i<pwdLength;i++)
{
//Random类的Next方法生成一个指定范围的随机数
iRandNum = rnd.Next(pwdchars.Length);
//tmpstr随机添加一个字符
tmpstr += pwdchars[iRandNum];
}
return tmpstr;
}
}
}
相关文章: