Comments (3)
That's how I thought the feature should work when I implemented it a long time ago. The idea was that, since default basically means that it was no changed on purpose by the developer, then the shell would have a chance to say otherwise.
But, if the developer took the time to specify a different layout, then it would not make a lot of sense to change it from the command line, since that would result in an error.
I'm not attached at all to the current implementation, so you can send a pull request if you strongly feel it should be implemented in another way.
from cakephp-email-queue.
So if I add an email to the queue with these options
$to = '[email protected]';
$view_vars = [
'variable_name' => $variable_value
];
$send_at = Time::now();
$options = [
'subject' => __('Email Subject'),
'send_at' => $send_at->i18nFormat('yyyy-MM-dd HH:mm:ss'),
'template' => 'custom_template',
'layout' => 'custom_layout',
'format' => 'both'
];
EmailQueue::enqueue($to, $view_vars, $options);
and then send the email using
bin/cake EmailQueue.sender
It shouldn't work? Right now, it sends an empty email. It seems I have to define the --template
and --layout
options in the bin/cake EmailQueue.sender
command for it to work correctly.
I would expect bin/cake EmailQueue.sender
to only fall back to default
if those fields were empty in the database. In my opinion lines
foreach ($emails as $e) {
$configName = $e->layout === 'default' ? $this->params['config'] : $e->config;
$template = $e->layout === 'default' ? $this->params['template'] : $e->template;
$layout = $e->layout === 'default' ? $this->params['layout'] : $e->layout;
...
should be changed to
foreach ($emails as $e) {
$configName = $e->config === 'default' ? $this->params['config'] : $e->config;
$template = $e->template === 'default' ? $this->params['template'] : $e->template;
$layout = $e->layout === 'default' ? $this->params['layout'] : $e->layout;
...
... which looks like what it already is. composer must have downloaded some old version. hmm.
from cakephp-email-queue.
It will send only if the current time is now or after the send_time
from cakephp-email-queue.
Related Issues (20)
- composer downloading old version HOT 1
- Preview - Objects used as Array HOT 5
- conflict modified col with mysql 5.7 HOT 2
- i18n language translate HOT 3
- Maximum Retry Count HOT 2
- License? HOT 3
- Cakephp 3.6 upgrade HOT 6
- send_at is wrong date
- Extend funkcionality
- Sometimes the 'template_vars' field is not long enough to be serialized. HOT 1
- attachments HOT 1
- how to set from_name and from_email? HOT 1
- Setting CC and BCC HOT 1
- cake 3 : Undefined index: template HOT 1
- Ver 4.0: seem Mail Queue send separated email to each recipient HOT 1
- Why does the plugin use serialize and not json per default?
- Feature: Return the EmailQueue.id when adding to the queue
- Regarding reply-to option/functionality.
- Upgrade to CakePHP 4.3
- MessageId is required in order to avoid spam
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cakephp-email-queue.