標籤:enables port 加密 tp伺服器 驗證 parse address net sage
一、
這是前台需要的東西
<asp:TextBox ID="Textemail" runat="server" CssClass="noneinput" placeholder="請輸入郵箱帳號" onblur="email()"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="擷取驗證碼" CssClass="zcnext am-fr am-btn-default" OnClick="Button2_Click" />
<asp:HiddenField ID="hfTimer" runat="server" />//這個是存放時間
<asp:HiddenField ID="time" runat="server" />//這個是用以判斷驗證碼到期
這是js代碼部分
<script>
var interval = 1000;
function ShowCountDown() {
var date = $("#<%=hfTimer.ClientID %>").val();//這個是擷取前面存放時間的隱藏控制項的值
var now = new Date();
var endDate = new Date(date);
if (now < endDate) {
var leftTime = endDate.getTime() - now.getTime();
var leftsecond = parseInt(leftTime / 1000);
//ar day1=parseInt(leftsecond/(24*60*60*6));
var day1 = Math.floor(leftsecond / (60 * 60 * 24));
var hour = Math.floor((leftsecond - day1 * 24 * 60 * 60) / 3600);
var minute = Math.floor((leftsecond - day1 * 24 * 60 * 60 - hour * 3600) / 60);
var second = Math.floor(leftsecond - day1 * 24 * 60 * 60 - hour * 3600 - minute * 60);
//document.getElementById("TimerH").innerHTML = day1 * 24 + hour;
//document.getElementById("TimerM").innerHTML = minute;
document.getElementById("miao").innerHTML = second;
} else {
document.getElementById("miao").innerHTML = "";//當時間到期變成空
var ts = $("#<%=time.ClientID %>").val("Failure");//這個是用以判斷驗證碼到期的隱藏控制項的值
}
}
window.setInterval(function () { ShowCountDown(); }, interval);
</script>
這下面是後台代碼
protected void Button2_Click(object sender, EventArgs e)
{
MailMessage msg = new MailMessage(); //執行個體化一個email類
string email = Textemail.Text.Trim();
if(email!="")
{
msg.To.Add(email);
msg.CC.Add("[email protected]"); //抄送人地址
msg.From = new MailAddress("[email protected]", "崔小強"); //發送人地址
msg.Subject = "驗證碼"; //郵件標題
msg.SubjectEncoding = Encoding.UTF8; // 字元格式設定
msg.Body =suiji(); //郵件內容 這裡調的一個方法返回一個四位驗證碼
Session["yan"] = msg.Body; //把郵件內容存到Session中
msg.BodyEncoding = Encoding.UTF8; //設定郵件內容的編碼格式
SmtpClient client = new SmtpClient(); //用來傳輸簡單郵件的smtp協議
client.Host = "smtp.qq.com"; //QQ的IP地址
client.Port = 587; //事務的連接埠
client.EnableSsl = true; //加密連結
client.Credentials = new NetworkCredential("[email protected]", "rrcntqllbhahjgcd"); //用於驗證寄件者的身份憑據
client.Send(msg); //將郵件發送到smtp伺服器,傳遞
DateTime timed = System.DateTime.Now;
DateTime times = timed.AddMinutes(1);//給目前時間加上一分鐘
hfTimer.Value = times.ToString("yyyy/MM/dd HH:mm:ss");//給前台的隱藏控制項賦值
time.Value = "";//給用於驗證驗證碼到期的控制項賦空
}
}
C# QQ郵箱註冊,以及數秒