订阅邮件与退订邮件原理
思韵闪耀
2014-08-18
0
html页

<form action="http://xxx/yanz.php" method="post">
<table>
<tr>
<td>邮箱</td><td><input type="text" name="mail_name">
<input type="hidden" name="mail_table" value="ceshi"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="dy" value="订阅">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="td" value="退订">
<input type="hidden" name="action" value="tj"></td>
</tr>
</table>
</form>

php页

<?php
include("conn.php");
include("phpmail.php");

if(isset($_POST['action']) && ($_POST['action']=="tj"))
{
$mail_table=$_POST['mail_table'];//获取邮箱
$md5=md5(rand(000000000,999999999));//设置随机码
$mail_name=$_POST['mail_name'];
if($mail_name=="")
{
echo "不能为空!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
exit;
}
function checkEmail($inAddress)
{
return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+",$inAddress));
}
if(!checkEmail($mail_name))
{
echo "请输入正确的邮箱地址!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
exit;
}//判断邮箱地址
if(isset($_POST['dy']) && $_POST['dy']="订阅")
{
$sql="select * from $mail_table where mail_name='$mail_name'";
$query=mysql_query($sql);
$row=mysql_fetch_row($query);
if($row)
{
echo "该邮件已存在!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
exit;
}//查看是否已经订阅

$mail_text="这个是订阅邮件,你收到邮件说明该邮箱可用,请点击下面的网站进行确认<br><a href=http://xxx/usermail/yzumail.php?qd=".$md5."&act=yz&a=".$mail_name."&t=".$mail_table.">http://xxx/usermail/yzumail.php?qd=".$md5."&act=yz&a=".$mail_name."&t=".$mail_table."</a>";
$sql="insert into $mail_table(mail_name,mail_ctime,mail_mark,mail_md5) values('$mail_name',now(),'2','$md5')";
$query=mysql_query($sql);

$s="select * from user_smtp where usmtp_id='1'";
$q=mysql_query($s);
$r=mysql_fetch_row($q);

if($query)
{
smtp_mail($mail_name, '订阅邮箱', 'NULL', 'abc',$mail_name,$r[3],$r[1],$r[2],$mail_text,$mail_table);
exit;
}
else
{
echo "添加出错,请重新添加!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
//echo "<a href=jit.php>2秒后会自动跳转到添加界面,如果没有自动跳转请点这里</a><meta http-equiv=refresh content=2;url=jit.php>";
exit;
}
}


if(isset($_POST['td']) && $_POST['td']="退订")
{
$sql="select * from $mail_table where mail_name='$mail_name'";
$query=mysql_query($sql);
$row=mysql_fetch_row($query);
if(!$row)
{
echo "该邮件不存在!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
//echo "<a href=jit.php>2秒后会自动跳转到添加界面,如果没有自动跳转请点这里</a><meta http-equiv=refresh content=2;url=jit.php>";
exit;
}

$mail_text="这个是退订确认邮件,你收到邮件说明该邮箱取消订阅,请点击下面的网站进行确认<br><a href=http://xxx/usermail/yzumail.php?qd=".$md5."&act=td&a=".$mail_name."&t=".$mail_table.">xxx/usermail/yzumail.php?qd=".$md5."&act=td&a=".$mail_name."&t=".$mail_table."</a>";
$sql="update $mail_table set mail_md5='$md5' where mail_name='$mail_name'";
$query=mysql_query($sql);

$s="select * from user_smtp where usmtp_id='1'";
$q=mysql_query($s);
$r=mysql_fetch_row($q);

if($query)
{
smtp_mail($mail_name, '退订邮箱', 'NULL', 'abc',$mail_name,$r[3],$r[1],$r[2],$mail_text,$mail_table);
exit;
}
else
{
echo "删除出错,请重新添加!<br>";
echo "<a href=\"/\" onclick=\"javascript:window.close(); return false;\">关闭窗口</a>";
//echo "<a href=jit.php>2秒后会自动跳转到添加界面,如果没有自动跳转请点这里</a><meta http-equiv=refresh content=2;url=jit.php>";
exit;
}
}
}
?>

再写一个页面获取随机码和邮箱,判断邮箱内保存的随机是否正确,正确则mark设为1,不正确返回错误


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

网页保护、网页图片保护
1、禁止另存网页,把如下代码加入到网页body/body中 程序代...
2025-05-30
docker-compos...
1.Compose介绍 DockerCompose是一个用来定义和...
2024-04-26
firewall-cmd ...
firewalld的简要说明:firewalld 、firewal...
2024-03-15
Mysqldump 时出现...
Mysqldump 时出现错误及解决方案:mysqldump: C...
2024-01-16
MySQL数据库”mysq...
MySQL数据库”mysql SQL Error:1146,SQL...
2023-12-02
mysql关闭binlog...
linux编辑my.cnf,windows编辑my.ini在[my...
2023-12-02

热门资讯

Invalid left-ha... 写一个提交函数的时候,发现函数不生效,F12之后看到Invalid left-hand side i...
响应图片(Responsive... 一、开门见山 响应图片技术可以说是响应布局衍生出来的一个小分支。说白了,就是不同显示器宽度下调用不同...
轻松删除MetInfo CMS... 第一步:首页底部版权,模板文件foot直接删除; 第二部:首页头部generator版权,\publ...
ckplayer6.3如何替换... 1.刚打开播放器,视频在缓冲时播放器中间的LOGO怎么替换?(如下图) 2.视频播放器右上角的CK ...
inDensity,inTar... 如果接触Android中的Bitmap较深的话,肯定会知道标题上的这三个属性值,那么这三个属性值的关...
JS 验证 利用Javascript中每个对象(Object)的prototype属性我们可以为Javascri...
在文本框中输入时保证总是在最... 那就要在keypress时保证文本框的光标在尾部,而文本框value赋值后其光标默认在最后,故可采用...
微信UA Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5...
检测大写锁定键(Caps Lo... h1检测大写锁定键/h1form action="#" method="post" p label ...
iframe高度自适应,全屏,... !注意此方法用于同一个域名下,可能需要部署在服务器上才能看出效果 !DOCTYPE html PUB...