/** * @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 ); } }
if (!file_exists($attachmentsDir)) { mkdir($attachmentsDir); } $adapter_tmp = new Local($attachmentsDir); $filesystem_tmp = new Filesystem($adapter_tmp); $filesystem_tmp->addPlugin(new ListWith()); $adapter = new Local($config['uploads_dir'] . '/email/'); $filesystem = new Filesystem($adapter); $filesystem->addPlugin(new ListWith()); $capsule = new Capsule(); foreach ($config['databases'] as $name => $database) { $capsule->addConnection($database, $name); } $capsule->setAsGlobal(); $capsule->bootEloquent(); $mailbox = new PhpImap\Mailbox('{' . $config['imap_server'] . ':' . $config['imap_port'] . '/imap/' . $config['imap_protocol'] . '/debug/novalidate-cert}Inbox', $config['imap_mail'], $config['imap_password'], $attachmentsDir); $mails = array(); $mailsIds = $mailbox->searchMailBox('ALL'); if (!$mailsIds) { echo 'Mailbox is empty' . "\n"; } else { print_r($mailsIds); foreach ($mailsIds as $mailId) { $mail = $mailbox->getMail($mailId); $id = $mail->id; $mail_id = isset($mail->messageId) ? $mail->messageId : $id; $titolo = $mail->subject; $from = $mail->fromAddress; $textPlain = $mail->textPlain; if (trim($mail->textHtml) == '') { $textHtml = $titolo . ' ' . $textPlain;
*/ require '../vendor/autoload.php'; require '../config.php'; set_time_limit(0); //unlimited $attachmentsDir = __DIR__; //echo 'connection string: {' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Elaborated' . "\n"; //$mailbox = new PhpImap\Mailbox('{' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Elaborated', $imap_mail, $imap_password, $attachmentsDir); //$mailbox->createMailbox(); //$mailbox->__destruct(); //echo 'connection string: {' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Elaborated' . "\n"; //$mailbox = new PhpImap\Mailbox('{' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Elaborated', $imap_mail, $imap_password, $attachmentsDir); //$mailbox->deleteMailBox(); //creata IO //$mailbox->__destruct(); echo 'connection string: {' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Inbox' . "\n"; $mailbox = new PhpImap\Mailbox('{' . $imap_server . ':' . $imap_port . '/imap/' . $imap_protocol . '/debug/novalidate-cert}Inbox', $imap_mail, $imap_password, $attachmentsDir); $mails = array(); $mailsIds = $mailbox->searchMailBox('ALL'); if (!$mailsIds) { echo 'Mailbox is empty' . "\n"; } else { print_r($mailsIds); foreach ($mailsIds as $mailId) { // echo $mailId . "\n"; $mail = $mailbox->getMail($mailId); // var_dump($mail); // var_dump($mail->getAttachments()); $id = $mail->id; $titolo = $mail->subject; $from = $mail->fromAddress; $textPlain = $mail->textPlain;