Я искал везде, и большинство ответов о подтверждении учетной записи пользователя с адресом электронной почты. У меня уже есть это. У меня есть целая система входа в систему / регистрации / учетной записи, а также система новостей и друзей, сообщения и т. Д.
Однако я хочу предоставить пользователям возможность зарегистрироваться для учетной записи электронной почты.
Допустим, они идут на example.com, чтобы зарегистрировать учетную запись, и после регистрации им дается электронное письмо с именем [email protected], и они могут просматривать свою папку «Входящие / Исходящие» и отправлять почту куда угодно, а не просто обмен сообщениями с другими на сайте. У меня есть несколько доменов, для которых я хотел бы сделать это.
У меня нет выделенного сервера или доступа с правами root, но у меня есть cPanel и доступ для выполнения почти всего, что связано с моими веб-службами. Неограниченное количество электронных писем / возможность использования внешних клиентов, доменов, поддоменов, пропускной способности, хранилища и т. Д. Поэтому я не думаю, что будут какие-то ограничения на конкретные вещи, которые я должен настроить.
Как я могу использовать PHP для регистрации электронной почты вместе с доступом к входящим / исходящим сообщениям?
Я хотел бы создать это сам, чтобы я мог реализовать его на своем собственном веб-сайте, поэтому я бы хотел воздержаться от использования RoundCube или какого-либо другого подобного сервиса веб-почты.
Это 100% возможность создать учетную запись электронной почты программно, пожалуйста, найдите код ниже от одного из моих рабочих живых проектов
include("xmlapi.php"); //XMLAPI cpanel client class
// Default whm/cpanel account info
$ip = ""; // should be server IP address or 127.0.0.1 if local server
$account = "";// cpanel user account name
$passwd = '';// cpanel user password
$port =2083;// cpanel secure authentication port unsecure port# 2082
$email_domain = "";// email domain (usually same as cPanel domain)
$email_quota = 50; // default amount of space in megabytes
/*************End of Setting***********************/
$xmlapi = new xmlapi($ip);
$xmlapi->set_port($port); //set port number. cpanel client class allow you to access WHM as well using WHM port.
$xmlapi->password_auth($account, $passwd); // authorization with password. not as secure as hash.
// cpanel email addpop function Parameters
$call = array(domain=>$email_domain, email=>$email_user, password=>$email_pass, quota=>$email_quota);
//$xmlapi->set_debug(1);//output to error file set to 1 to see error_log.
// making call to cpanel api
$result = $xmlapi->api2_query($account, "Email", "addpop", $call );
// cpanel email fwdopt function Parameters
$dest_email="";// if specified by user in the form
$call_f = array(domain=>$email_domain, email=>$email_user, fwdopt=>"fwd", fwdemail=>$dest_email);
$result_forward = $xmlapi->api2_query($account, "Email", "addforward", $call_f); //create a forward if you wantif ($result->data->result == 1){
$msg = $email_user.'@'.$email_domain.' account created';
Вот файл класса xmlapi.php
$ email_quota = 50; // объем по умолчанию в мегабайтах