/** * @Route("/confEmail", methods = {"PUT", "OPTIONS"}) */ public function ConfEmailAction() { try { $info = $this->request->getJsonRawBody(); $filePath = __DIR__ . '/../config/email.json'; $jsonString = file_get_contents($filePath); $jsonObj = json_decode($jsonString); if (isset($info->email_address)) { $jsonObj->email_address = $info->email_address; } if (isset($info->imap_address)) { $jsonObj->imap_address = $info->imap_address; } if (isset($info->smtp_address)) { $jsonObj->smtp_address = $info->smtp_address; } if (isset($info->password)) { if ($info->password != $info->passwordConfirmation) { $this->response->setJsonContent(['message' => '两次密码不一致']); $this->response->send(); return; } $jsonObj->password = $info->password; } if (isset($info->compay_name)) { $jsonObj->company_name = $info->company_name; } $jsonObj->updated_at = round(microtime(true) * 1000); $mailbox = new PhpImap\Mailbox("{{$jsonObj->imap_address}:993/imap/ssl}INBOX", $jsonObj->email_address, $jsonObj->password); $mailbox->searchMailbox('ALL'); $data = json_encode($jsonObj); file_put_contents($filePath, $data); $this->response->setJsonContent(['email_address' => $jsonObj->email_address, 'imap_address' => $jsonObj->imap_address, 'smtp_address' => $jsonObj->smtp_address, 'updated_at' => $jsonObj->updated_at]); } catch (Exception $e) { $this->response->setJsonContent(['message' => $e->getMessage()]); } $this->response->send(); return; }
<?php require './PhpImap/__autoload.php'; $mailbox = new PhpImap\Mailbox('{imap.gmail.com:993/imap/ssl}INBOX', '*****@*****.**', '2Congaquay', __DIR__); $ids = $mailbox->searchMailbox('ALL'); if(!empty($ids)){ foreach($ids as $id){ $mail = $mailbox->getMail($id); echo "{$mail->toString}\n"; file_put_contents("./failed.dat", $mail->toString . "\n", FILE_APPEND ); } }