Как я могу получить входящие для определенного адреса электронной почты, войдя в систему как корневая учетная запись сервера электронной почты в PHP - PullRequest
0 голосов
/ 06 ноября 2019

Итак, в основном у меня есть PHP-код imap_open (idk, как его называть), который работает, когда вы входите с определенного адреса электронной почты. Что я хочу сделать, так это войти в систему с пользователем root почтового сервера (я думаю, это так и называется, это учетная запись, которую мне предоставил хостинг-провайдер при заказе), и получить входящие сообщения любого адреса электронной почты.

Смысл этого в том, что я хочу создать почтовый онлайн-клиент, который люди могли бы использовать при входе в систему с использованием собственной системы аутентификации, которая не имеет ничего общего с почтовым сервером (и каждый пользователь имеет свой адрес электронной почты в базе данных). .

Я думал о том, чтобы сохранить зашифрованный пароль адреса электронной почты в базе данных и использовать его для входа на отдельные адреса электронной почты, но я не большой поклонник этой идеи.

IХотелось бы узнать, возможно ли это вообще, и, возможно, есть какие-либо идеи о том, как вы решите проблему с сохранением пароля каждого письма в безопасности.

PS Мне удалось использовать учетную запись root для отправки писем с любого адреса на почте. сервер, использующий SMTP PHPMailer.

Я знаю, что плохо объясняю, сожалею об этом и благодарюзаранее.

Я сейчас использую этот код, чтобы получить входящие адреса электронной почты, используя пароль конкретного адреса электронной почты.

            $inbox = imap_open('{mail.example.com:993/imap/ssl}INBOX', 'user@example.com', 'password');
            /* grab emails */
            $emails = imap_search($inbox,'ALL');

            /* if emails are returned, cycle through each... */
            if($emails) {

                /* begin output var */
                $output = '';

                /* put the newest emails on top */
                rsort($emails);

                /* for every email... */
                foreach($emails as $email_number) {

                    /* get information specific to this email */
                    $overview = imap_fetch_overview($inbox,$email_number,0);


                    $output.= 'Name:  '.$overview[0]->from.'</br>';
                        $output.= 'Email:  '.$overview[0]->message_id.'</br>';

                        $body = imap_fetchbody($inbox, $email_number, 0);
                    $output.= 'Head: '.$body.'</br>';

                    $body = imap_fetchbody($inbox, $email_number, 1);
                    $output.= 'Body: '.$body.'</br>';


                    break;
                }

                echo $output;
            } 
            /* close the connection */
            imap_close($inbox);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...