我想创建一个免费的电子邮件服务。我在Debian6和Parallels Plesk11后端上使用了200 11的vServer (这是我第一次使用)。
现在我只需要一个简单的php脚本,这是为客人注册一个新的邮件(为他们自己)。
我问过一个很好的编程朋友能不能帮我,他做到了。
他写了一个这样的脚本:
<form method="post" action="">
<input type='hidden' name='submitted' id='submitted' value='1'/>
<label for='email' >Email Address:</label>
<input type='text' name='email' id='email' maxlength="50" />
<br>
<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type="submit" name="submit" value="Submit" />
</form>
<?
function sanitize($data) {
$data = strip_tags(trim($data));
$search = array('/[^A-Za-z0-9\. -\!\?\(\)\<\>\@]/');
$data = preg_replace($search, '', $data);
return $data;
}
if(isset($_POST['email'])){
// STRIP OUT ANY UNWANTED STUFF
$_POST['email'] = sanitize($_POST['email']);
$_POST['password'] = sanitize($_POST['password']);
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$email = $_POST['email'];
} else {
echo "Invalid email<br>";
$_POST['email'] = null;
return;
}
$password = $_POST['password'];
shell_exec ("/usr/local/psa/bin/./mail --create $email -passwd $password -mailbox true");
echo "Your account '$email' has been setup with password '$password'";
}
?>看起来它可以工作,我已经测试过了,但是shell_exec不能正常工作。(index.php权限是755)我只有这个文件作为index.php第一次我不需要更多,当index.php工作正常时我会编写其他东西。
我读过一些关于Plesk和创建邮件的文章。他们写道,默认情况下,shell_exec在Plesk中是禁用的,我必须激活它。
我不知道如何以及在哪里可以做到这一点..你知道解决方案吗?
提前感谢!!
发布于 2014-04-24 21:16:13
Plesk默认不会关闭shell_exec功能。
如果您这样认为,请检查您的订阅或文件/var/www/vhosts/system/domain.tld/etc/php.ini的PHP设置(此路径适用于11.5)
顺便说一句,使用PHP代码可以避免通过API-RPC请求执行系统命令。下面是创建邮箱的plesk接口请求示例:http://download1.parallels.com/Plesk/PP11/11.5/Doc/en-US/online/plesk-api-rpc/34502.htm
下面是PHP的代码示例:http://download1.parallels.com/Plesk/PP11/11.5/Doc/en-US/online/plesk-api-rpc/33181.htm
https://stackoverflow.com/questions/23252868
复制相似问题