I'm attempting to setup a reminder calendar implementing the Postmaster module. I've been trying to solve this issue now for a while and can't seem to come up with a solution.

Here's my setup: I have a EE Grid field with 3 columns (title, date, description). The member enters each of the values, with the date being a "date" field.

Within the Postmaster notification I've tried doing post date relative with the relative field having "-5 days", as all dates are going to be in the future. But, it seems that Postmaster does not like this syntax as notifications are not sent at all this way. If I keep it post date specific I can ping the url and get the notifications sent the day of (which isn't too helpful for a reminder).

So I installed the math module (http://devot-ee.com/add-ons/math) to try and work some magic, still no go.

Here's what I currently have:

For post date specific I have

{exp:channel:entries channel="wedding" dynamic="no" entry_id="1"}{calendar:date format="%m"}/{exp:math formula='{calendar:date format="%d"} - 5'}/{calendar:date format="%Y"}{/exp:channel:entries}

Where the channel is wedding, and the grid field is calendar. Then the calendar:date is the date. Within the EE template, this will output the correct date I want the notification to be sent on. So if date entered is 6/11/2014 it will output 6/6/2014, the date the notification should be sent.

Then, to make sure no old notification get sent, I also added a conditional

{exp:channel:entries channel="wedding" dynamic="no" entry_id="1"}{calendar}{if '{calendar:date format="%U"}' > '{current_time format="%U"}'}TRUE{if:else}FALSE{/if}{/calendar}{/exp:channel:entries}

Just to make sure the information being sent to the member isn't in the past.

Still, no notifications are sent? The only way I can get them to send is placing the specific date in, no relative, and not using math on the input.

How can I get these things to fire 5 days before the date??


Couple things right off hand, but this type of complexity is a little outside the scope of what is provided outside of the box. This is why there is a Notifications API so you can build you own notifications with custom logic to determine when to send emails. You can create database tables to store when emails are sent, and have custom UI's for you to have different variables in your logic that aren't set in the code (for example). If it were me, I would extend the Notifications API and that way you can be sure that it will send when you want. It was built for this exact purpose.

That said... It might be possible to get it working using out of the box tools.

  1. Using the relative date of "-5 days" would indeed make the email send right away. It works together with the specific date field. So if you plugin your entry date into the specific date, and specify "-5 days" it would subtract 5 days from your entry date and send it then.

  2. I am not 100% sure your extra conditional field will work. I think the more optimal way would be to extend the BaseNofication class and build your own logic to prevent it from being sent. This will be much more reliable in the long run.

  • I've tried #1 as suggested and it doesn't work. It will not send 5 days before. It doesn't seem as though the logic is there to subtract, only add. Also, why would the conditional not work? It seems simple enough to me, compare the date to todays date, if less than, don't send? – shparkison Jun 9 '14 at 22:04
  • There is definitely logic to subtract. I just tested this locally and is working fine for me. I didn't make 1 minor edit to the code to fix a possible bug, but this wouldn't break it completely. I tested the queue, everything and it appears to be working. It isn't 100% clear from the thread, are you using Parcels or Notifications within Postmaster? I see you use the word "notification" but wasn't sure if this was just general nomenclature, or you were indeed using a Postmaster Notification (vs a Parcel). – Justin Kimbrell Jun 13 '14 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.