| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Whenever you are sending emails in integration tests using the `:test`
delivery method you need to make sure that
`ActionMailer::Base.deliveries` is reset after every test. This piece of
boilerplate code is present in all my applications that send
emails. Let's have `ActionDispatch::IntegrationTest` reset the
deliveries automatically.
|
| |
|
|
|
|
| |
[ci skip]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the `5.0.0.beta1` release, the CHANGELOGs got an entry like the
following:
```
* No changes.
```
It is kinda confusing as there are indeed changes after it. Not a
biggie, just a small pass over the CHANGELOGs.
[ci skip]
|
| |
|
|
|
|
|
|
|
|
|
| |
cloud8421/actionmailer-unregister-interceptor"
This reverts commit 65a61ab7c370d2894c11ce276725f723a5c9c111, reversing
changes made to 14314ca18302f18c3d8bb7a63e9f71ac4c2290c2.
This PR broke the build
|
|\
| |
| |
| | |
ActionMailer::Base can unregister interceptor(s).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One or multiple mail interceptors can be unregistered using
`ActionMailer::Base.unregister_interceptors` or
`ActionMailer::Base.unregister_interceptor`.
For preview interceptors, it's possible to use
`ActionMailer::Base.unregister_preview_interceptors` or
`ActionMailer::Base.unregister_preview_interceptor`.
Refactors logic to constantize a string/symbol into separate method.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`config.force_ssl = true` will set
config.action_mailer.default_url_options = { protocol: 'https' }
If you have turned on force_ssl, and then gone to the effort of setting
config.action_mailer.default_url_options = {host: 'example.com'} then
you are probably pointing people back to your current app and want
https on that too.
|
| |
| |
| |
| |
| |
| |
| | |
xijo/action_mailer_message_delivery_respects_i18n_locale"
This reverts commit f2a8c23654d69dd8f294971487b5abf0e5d891c3, reversing
changes made to 3046c9bbe154aa717a5147091be8b495ed8969c4.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When #deliver_now is called all translations within the
generated email will be looked up for the current I18n
locale.
I18n.locale = ‘de’
mail.deliver_now # Generates german email, correct
In #enqueue_delivery the locale was not considered and
the resulting job uses the default locale.
I18n.locale = ‘de’
mail.deliver_later # Generate english email, incorrect
In order to achieve a consistent behaviour the current locale
is now always passed to `ActionMailer::DeliveryJob`.
|
| |
| |
| |
| |
| |
| | |
Also add a CHANGELOG entry for #18587
[ci skip]
|
| | |
|
| |
| |
| |
| |
| | |
Use a preview interceptor to search for inline cid: urls in src
attributes and convert them to data urls.
|
| |
| |
| |
| | |
a subdirectory, closes #19092.
|
| | |
|
| |
| |
| |
| |
| |
| | |
While this was true before when every `dd` had a value,
this patch makes sure that everything keeps lining up even
when the `dd` node is blank.
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
Following the same naming convention used in
controllers and jobs.
|
| |
|
|
|
|
|
| |
These methods were deprecated in Rails 4.2 (see f4ee1147) so they can
be safely removed in Rails 5.0.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the following templates:
mailer/demo.html.erb
mailer/demo.en.html.erb
mailer/demo.pt.html.erb
Before this change for a locale that doesn't have its related file
the `mailer/demo.html.erb` will
be rendered even if `en` is the default locale.
Now `mailer/demo.en.html.erb` has precedence over the file without
locale.
Also, it is possible to give a fallback.
mailer/demo.pt.html.erb
mailer/demo.pt-BR.html.erb
So if the locale is `pt-PT`, `mailer/demo.pt.html.erb` will be
rendered given the right I18n fallback configuration.
Fixes #11884.
|
|
|
|
|
|
|
| |
We will support only Ruby >= 2.1.
But right now we don't accept pull requests with syntax changes to drop
support to Ruby 1.9.
|
|
|
| |
[skip ci]
|
| |
|
|
|
| |
[skip ci]
|
| |
|
| |
|
| |
|
|
|
|
| |
ActionMailer: mark mail as called after instead of before processing it
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead.
Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR.
Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead.
The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`.
Paired @sgrif & @schneems
|
|
|
|
|
|
|
|
|
| |
Closes #16163
Adding attachments after a call to `mail` will result in invalid emails.
This is related to the fact, that `mail` is making the required preparations
before the email is ready to be sent. These change depending on your
added attachments.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds `config.action_mailer.preview_enabled`
This allows mail previewing to be enabled easily in non-development
environments such as staging. The default is set to true for development
so no changes should be required to existing Rails applications.
The mail preview path can still be configured using the existing
`config.action_mailer.preview_path` configuration option.
Adding this avoids devs from having to do stuff like:
https://gist.github.com/lengarvey/fa2c9bd6cdbeba96526a
Update actionmailer/CHANGELOG with new configuration.
Update configuring guide with new configuratation.
Add `config.action_mailer.preview_path` to configuring guide.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was partially broken because `preview_interceptors=` just assigned the
raw values, whithout going through `register_preview_interceptor`. Now the
Action Mailer railtie takes care of the `preview_interceptors` option.
This commit is a partial revert of:
Revert "Merge pull request #15739 from y-yagi/correct_doc_for_action_mailer_base"
This reverts commit a15704d7f35f17d34d0118546799141d6f853656, reversing
changes made to 1bd12a8609d275ad75fcc4b622ca4f5b32dc76be.
/cc @kuldeepaggarwal @y-yagi
|
|
|
|
| |
Remove 4-1 related entries from master [ci skip]
|
| |
|
|
|
|
|
|
| |
We allow the use of underscored symbols to represent classes throughout
other parts of Rails so it seems incongruous that it's not supported in
`register_interceptor` and `register_observer`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support the ability for tools like CSS style inliners to operate on emails
being previewed this commit adds a hook in a similar fashion to the existing
delivery interceptor hook, e.g:
class CSSInlineStyler
def self.previewing_email(message)
# inline CSS styles
end
end
ActionMailer::Base.register_preview_interceptor CSSInlineStyler
Fixes #13622.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This behavior is documented in our guides (http://edgeguides.rubyonrails.org/action_mailer_basics.html#action-mailer-callbacks)
but was broken in the past. This commit short curcuits
the `mail` method if:
1. mail() was previously called
2. no headers are passed
3. no block is passed
Closes #13090.
/cc @pixeltrix
|