Age | Commit message (Collapse) | Author |
|
Most of the system won't be using this, but it's still good to have for
completeness sake.
|
|
|
|
Since all of our emails are, set it for all emails for now, but keep
flags around to make it possible to change in the future.
Hoepfully these headers will help decrease then number of out-of-office
emails received when sending things out.
|
|
This adds a viewer and editor for the mailqueue to the dashboard,
superuser only.
While at it, expose time and subject directly in the queue to make it
easier to determine what is what.
Most of the time this is not going to matter because emails are
short-lived in the queue. But during development and definitely during
debugging, it can be quite useful.
Move the "parsed mail view" out of django admin and into the backend
view so we don't have to maintain it twice. There is very little use for
the admin view anymore, so it's OK to just show the raw data there.
|
|
Looks like this was broken in the python 3 migration, but missed since
it only affected cases where a single address was added, and not a list
of addresses. The only user of this was data-purge warnings.
|
|
|
|
Sibling imports should be prefixed with a period. Good idea in py2, will
eventually become required in py3, so another small step.
|
|
This can be a list (comma separated) of email addresses that will
receive a BCC of all emails about this invoice. This is similar to how
the treasurer address gets such a copy, but makes it possible to add
more than one address.
|
|
|
|
Mostly not important, but getting rid of the PIP warnings will help
catch errors in the future.
|
|
Surprisingly many of these were pure copy/paste errors from the same
source...
|
|
In an effort to close up with PEP8, we should use spaces for indent
rather than tabs... Time to update your editor config!
|
|
|
|
When sending an email to non-ascii names, the actual email address
should not be part of the encoded section. It should have a separate
section that's not encoded.
|
|
This introduces the function of the same name from the pgweb code base
(though it isn't identical, to be clear). This function is to be used
when rendering a text file into an email. There is a helper function
template_to_string() which is also added and can be used if a string
result is needed.
The primary different here is that the variables set in
util/context_processor:settings_context are included in the hash
automatically, so those settings do not need to be explicitly set by
the callers and the templates can expect them to be available.
Using that, this change also includes changes to move away from
hard-coded values like 'PostgreSQL Europe' in favor of using the
variables set in settings.py/local_settings.py in the text templates.
This will allow others to re-use the exisitng templates and not have
to develop and maintain their own going forward.
|
|
Instead of just using bare headers. Hopefully this will lower some spamscores,
and more importantly make things actually look better to receipients.
In passing, fix ability to use unicode characters in subjects.
|
|
This will BCC all manual invoice emails only. This is basically
all the emails generated except receipts that are generated for
invoices that have a processor set.
|
|
|
|
|
|
|
|
Makes it behave much nicer when there are issues sending, and doesn't
end up calling out to SMTP from within a regular web request.
|
|
Adds a function to call that will render a complete MIME message, and
write the resulting text to a database table.
Then there is a cron job that runs at regular intervals (every 5 mins or so)
and sends all the queued emails.
This brings in two important functions:
* The ability to "send" emails from regular web views without the risk of ending
up blocking on the SMTP server.
* The abilitty to "transactionally send email" - meaning that mail sen this way
will just disappear if the transaction (normally managed by django) that's open
when it was sent ends up rolling back. This prevents re-sending email over and
over again when some later step in the process fails.
|