| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- <?php
 
- namespace Grav\Plugin\Console;
 
- use Grav\Common\Grav;
 
- use Grav\Console\ConsoleCommand;
 
- use Grav\Plugin\Email\Email;
 
- use Grav\Plugin\Email\Utils as EmailUtils;
 
- use Symfony\Component\Console\Input\InputOption;
 
- /**
 
-  * Class TestEmailCommand
 
-  * @package Grav\Console\Cli\
 
-  */
 
- class TestEmailCommand extends ConsoleCommand
 
- {
 
-     /**
 
-      * @var array
 
-      */
 
-     protected $options = [];
 
-     /**
 
-      *
 
-      */
 
-     protected function configure()
 
-     {
 
-         $this
 
-             ->setName('test-email')
 
-             ->setAliases(['testemail'])
 
-             ->addOption(
 
-                 'to',
 
-                 't',
 
-                 InputOption::VALUE_REQUIRED,
 
-                 'An email address to send the email to'
 
-             )
 
-             ->addOption(
 
-                 'env',
 
-                 'e',
 
-                 InputOption::VALUE_OPTIONAL,
 
-                 'The environment to trigger a specific configuration. For example: localhost, mysite.dev, www.mysite.com'
 
-             )
 
-             ->addOption(
 
-                 'subject',
 
-                 's',
 
-                 InputOption::VALUE_OPTIONAL,
 
-                 'A subject for the email'
 
-             )
 
-             ->addOption(
 
-                 'body',
 
-                 'b',
 
-                 InputOption::VALUE_OPTIONAL,
 
-                 'The body of the email'
 
-             )
 
-             ->setDescription('Sends a test email using the plugin\'s configuration')
 
-             ->setHelp('The <info>test-email</info> command sends a test email using the plugin\'s configuration');
 
-     }
 
-     /**
 
-      * @return int|null|void
 
-      */
 
-     protected function serve()
 
-     {
 
-         // TODO: remove when requiring Grav 1.7+
 
-         if (method_exists($this, 'initializeGrav')) {
 
-             $this->initializeThemes();
 
-         }
 
-         $grav = Grav::instance();
 
-         $this->output->writeln('');
 
-         $this->output->writeln('<yellow>Current Configuration:</yellow>');
 
-         $this->output->writeln('');
 
-         dump($grav['config']->get('plugins.email'));
 
-         $this->output->writeln('');
 
-         $grav['Email'] = new Email();
 
-         $to = $this->input->getOption('to') ?: $grav['config']->get('plugins.email.to');
 
-         $subject = $this->input->getOption('subject');
 
-         $body = $this->input->getOption('body');
 
-         if (!$subject) {
 
-             $subject = 'Testing Grav Email Plugin';
 
-         }
 
-         if (!$body) {
 
-             $configuration = print_r($grav['config']->get('plugins.email'), true);
 
-             $body = $grav['language']->translate(['PLUGIN_EMAIL.TEST_EMAIL_BODY', $configuration]);
 
-         }
 
-         $sent = EmailUtils::sendEmail(['subject'=>$subject, 'body'=>$body, 'to'=>$to]);
 
-         if ($sent) {
 
-             $this->output->writeln("<green>Message sent successfully!</green>");
 
-         } else {
 
-             $this->output->writeln("<red>Problem sending email...</red>");
 
-         }
 
-     }
 
- }
 
 
  |