M
Michael Hadorn
Newcomer
First Post
Conversation Starter
2 posts
Hi there
I would like to send an email via the email plugin (https://github.com/getgrav/grav-plugin-email ) inside a cli in my own plugin.
My problem is that the email plugin is not loaded in my cli context. I know that I could add and configure an own mailer but this is ugly.
Similar code is working in my plugin:
$message = $this->grav['Email']->message($subject, $content, 'text/html')
->setFrom($from)
->setTo($to);
$sent = $this->grav['Email']->send($message);
In the cli context I use:
$email = Grav::instance()['Email'];
But I get this Error:
[Pimple\Exception\UnknownIdentifierException]
Identifier "Email" is not defined.
So, how can I load the email plugin with his configuration (I'm using a SMTP server).
Best thanks for any reply!
Michael
last edited 11/09/17 by Michael Hadorn
M
Michael Hadorn
Newcomer
First Post
Conversation Starter
2 posts
Yes, get it. Thx @rhuk for the motivation.
Used:
/* @var EmailPlugin $emailPlugin /
// load plugin & init (init will add the email property to the grav array entry)
$emailPlugin = new EmailPlugin('Email', Grav::instance());
$emailPlugin->onPluginsInitialized();
/* @var \Swift_Message $message /
$message = Grav::instance()['Email']->message($subject, $content, 'text/html');
$message->setFrom($fromAddr, $fromName)
->setTo($toAddr, $toName)
->attach(Swift_Attachment::fromPath($tex->pdfPath))
;
$sent = Grav::instance()['Email']->send($message);
var_dump($sent);
last edited 11/09/17 by Michael Hadorn