PDA

View Full Version : Webmail Account



Smoothice
07-19-2006, 09:27 PM
Is there a way to automatically generate a new email address? What I want is for new members signing up to be able to get thier own email address. I do not want to have to go and create one by hand. Any one with any experience with this?

Smoothice

areidmtm
07-19-2006, 09:33 PM
<?php
/*
Create POP email accounts
Works for me when others failed.
*/
//include('header.php');

// Domain Logon Details
$username = "bluehost cpanel username here";
$password = "bluehost cpanel password here";

// Domain details
$domain = "domain name here";
$theme = "bluehost";

// Parameters to parse
$eDomain = "domain name here";
$eQuota = "10"; // in MB;

if (isset($delpop)) {
print "Account deleted : ".$popuser."@".$eDomain;

$postfields = "email=$popuser&domain=$eDomain";
$url = "http://$username:$password@$domain:2082/frontend/$theme/mail/realdelpop.html?$postfields";
//print "<hr>";
//print $url;
// initialise Curl
$popPost = curl_init();
curl_setopt($popPost, CURLOPT_URL, $url);
// Set Curl Option: Username:Password
curl_setopt($popPost, CURLOPT_POST, 1);
// Set Curl Option: Collect result from script
curl_setopt($popPost, CURLOPT_RETURNTRANSFER, 1);
// Set Curl Option: Set timeout to 15 seconds
curl_setopt($popPost, CURLOPT_TIMEOUT, 15);
// Set Curl Option: Post data
//curl_setopt($popPost, CURLOPT_POSTFIELDS, $postfields);
// Execute Request, and store result in $tb_post
$popPost_result = curl_exec ($popPost);
// Close Curl
curl_close ($popPost);
$start = strpos($popPost_result, 'Account');
$end = strpos($popPost_result, 'Go');
$subset = substr($popPost_result, $start, $end+8-$start);
print $substr;
}

if (isset($_POST['eEmail'])) {
$ePassword = $_POST['password2'];
// Put post fields variable together
$postfields = "email=" . $_POST['eEmail'] . "&domain=" . $eDomain . "&password=" . $ePassword . "&quota=" . $eQuota;
// initialise Curl
$popPost = curl_init();
// Set Curl Option: URL
$url = "http://" . $username . ":" . $password . "@" . $domain . ":2082/frontend/" . $theme . "/mail/doaddpop.html?" . $postfields;
curl_setopt($popPost, CURLOPT_URL, $url);
// Set Curl Option: Username:Password
curl_setopt($popPost, CURLOPT_POST, 1);
// Set Curl Option: Collect result from script
curl_setopt($popPost, CURLOPT_RETURNTRANSFER, 1);
// Set Curl Option: Set timeout to 15 seconds
curl_setopt($popPost, CURLOPT_TIMEOUT, 15);
// Set Curl Option: Post data
//curl_setopt($popPost, CURLOPT_POSTFIELDS, $postfields);
// Execute Request, and store result in $tb_post
$popPost_result = curl_exec ($popPost);
// Close Curl
curl_close ($popPost);

//output results
$start = strpos($popPost_result, '<b>Account');
$end = strpos($popPost_result, 'created.');
$subset = substr($popPost_result, $start, $end+8-$start);
$subset = str_replace('login ', "login<br>", $subset); //for neatness
//$subset=str_replace("<!",'<-',$subset); //see the comments
if (preg_match ('/Sorry/i', $subset)) {
print "<br><b>&nbsp;&nbsp;&nbsp;Sorry that account already exists.</b><br><br><br><br><br><br><br>";
//print ($subset);
} elseif(preg_match ('/You must specify/i', $subset)) {
print "<br><b>&nbsp;&nbsp;&nbsp;You must specify a password.</b><br><br><br><br><br><br><br>";
} else {
print ($subset);
print "<br><br>You may now use <b>mail." . $domain . "</b> as your POP3 setting in your mail client or access <b>WebMail</b> by selecting <a href=http://" . $domain . "/webmail>Here</a>.
<center>
<br><a href=javascript:history.go(-1)>Go Back</a>
</center>";
}
} else {
?>

<form name="emailform" method="post" action="index.php">
<table border="0" cellspacing="1" align=center cellpadding="0">
<tr>
<td>Prefered Email Address:</td>
<td colspan="2"><input size=10 value="" name="eEmail" type="text">
@<?= $domain ?></td>
</tr>
<tr>
<td>Password:</td>
<td colspan="2"><input size=10 name="password1" value="" type="password"></td>
</tr>
<tr>
<td>Retype Password:</td>
<td colspan="2"><input size=10 name="password2" value="" type="password"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td width="344"> <div align="center">
<input name="signupbtn" type="button" id="signupbtn" value="Signup" onClick="validateform()">
</div></td>
<td width="163">&nbsp;</td>
</tr>
</table>
<script language="JavaScript1.2">


function validateform() {
if (checkEmailAddress(document.emailform.eEmail)) {
if(document.emailform.password1.value == document.emailform.password2.value) {
document.emailform.submit();
}
else
{
alert("The passwords you typed do not appear to match");
}
}
}

function checkEmailAddress(field) {
var good;
//var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.go v)|(\.org)|(\..{2,2}))$)\b/gi);
var goodEmail = field.value;

if(goodEmail != "") {
//if (goodEmail){
good = true
} else {
alert('Please enter a valid e-mail address.')
field.focus()
field.select()
good = false
}
return good;
}


</script>
</form>
<? } ?>