Exemple #1
1
 /**
  * @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;
 }
Exemple #2
0
<?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;