[kronolith] Calendar event alarm reminders via e-mail
Aria Bamdad
aria at bsc.gwu.edu
Thu Feb 20 14:57:38 UTC 2020
>
> > > Thank you Michael, I will open an enhancement request. In the
> > > meantime, since if no e-mail address is provided to Kronolith via
> > > the configuration screen, then horde_Alarm will assume the default
> > > identity is the 'from' identity, then it is conceivable that I can
> > > easily create a local modification to horde_alarm to always assume
> > > the from address is the default identity and the to address is what
> > > is provide via the kronolith configuration screen.
> >
> > > Do you think this would have negative impact on other
> > > modules/functions that rely on horde_alarm?
> >
> > Well, you can't just hard code the kronolith configuration accessor
> > into Horde_Alarm, since this would cause it to always use this address
> > regardless of what Alarm is being triggered. Not to mention that
> > Kronolith won't always be in scope when that code is reached, causing
> > it to fatally fail. This is why Horde_Alarm either has to be extended
> > to accept a separate from/to address, or, as suggested, more tightly
> > integrate the Identity system with Kronolith.
> >
> > > Can you point me to the correct code segment that this is done in?
> >
> >
> https://github.com/horde/Alarm/blob/master/lib/Horde/Alarm/Handler/Mail.
> > php
> >
>
> Thank you Michael. I have opened an enhancement request:
> https://bugs.horde.org/ticket/14983
>
> However, I am a bit confused about why we can't locally change the
> horde_alarm mail handler you provided a link to above as follows to
> achieve the goal:
>
> if (empty($alarm['params']['mail']['email'])) {
> if (empty($alarm['user'])) {
> return;
> }
> $email = $this->_identity
> ->create($alarm['user'])
> ->getDefaultFromAddress(true);
> } else {
> $email = $alarm['params']['mail']['email'];
> }
>
> Change above so that it always sets $from-email to $this->_identity -
> >create($alarm['user'])->getDefaultFromAddress(true);
>
> And, then sets $to-email to $alarm['params']['mail']['email'] if it's
> not empty or else, sets it to $from-email.
>
> Then in the next section below, use from-email and to-email instead of
> $email for both?
>
>
> try {
> $mail = new Horde_Mime_Mail(array(
> 'Subject' => $alarm['title'],
> 'To' => $email,
> 'From' => $email,
> 'Auto-Submitted' => 'auto-generated',
> 'X-Horde-Alarm' => $alarm['title']));
> if (isset($alarm['params']['mail']['mimepart'])) {
> $mail-
> >setBasePart($alarm['params']['mail']['mimepart']);
> } elseif (empty($alarm['params']['mail']['body'])) {
> $mail->setBody($alarm['text']);
> } else {
> $mail->setBody($alarm['params']['mail']['body']);
> }
>
> This may be a naive solution as I am not a PHP programmer!
>
Can anyone provide some feedback on whether the above is possible. In fact, I was thinking that the calendar event reminders don't even have to be sent from an address that belongs to the user's identity at all. All calendar event e-mail notifications from the system could come from a generic (non-existent) email address like do_not_reply at example.com . So until there is a horde based solution for this, can I just hardcode the generic address in the From field abov: like 'From' => 'do_not_reply at example.com',
Thanks.
More information about the kronolith
mailing list