Поэтому я пытаюсь выяснить, как отправить электронное письмо на адрес, например, something@whatever.com, и вместо того, чтобы отправлять электронную почту туда, он будет отправлен или отправлен сценарию, который я создаю, чтобы читать содержимое электронной почты и сохранение содержимого в базе данных. Любые предложения о том, как это сделать в PHP?
Благодаря!
Вот код, который вы могли бы использовать, чтобы вы пошли:
// set user to check $strUser = "username"; $strPassword = "password"; // open $hMail = imap_open ("{mail.yourdomain.com:143/notls}INBOX", "$strUser", "$strPassword"); // get headers $aHeaders = imap_headers( $hMail ); // get message count $objMail = imap_mailboxmsginfo( $hMail ); // process messages for( $idxMsg = 1; $idxMsg <= $objMail->Nmsgs; $idxMsg++ ) { // get header info $objHeader = imap_headerinfo( $hMail, $idxMsg ); // get from object array $aFrom = $objHeader->from; // process headers for( $idx = 0; $idx < count($aFrom); $idx++ ) { // get object $objData = $aFrom[ $idx ]; // get email from $strEmailFrom = $objData->mailbox . "@" . $objData->host; // do some stuff here } // delete message imap_delete( $hMail, $idxMsg ); } // expunge deleted messages imap_expunge( $hMail ); // close imap_close( $hMail );
Два варианта:
1) Если у вас есть доступ к оболочке на почтовом сервере получателя, вы можете настроить правило для запуска сценария (например, через procmail или т. П.) Всякий раз, когда получено новое сообщение.
2) Вы можете разрешить отправке электронной почты в почтовый ящик как обычно, а затем написать свой PHP-скрипт для доступа к почтовому ящику через IMAP, вытащить новые сообщения, обработать их, а затем удалить. А затем запустите вещь cron каждые несколько минут.