Commit Graph

117 Commits

Author SHA1 Message Date
Alexander M. Turek
a1ee32039b Allow version 2 of the contracts package. 2019-09-08 12:38:38 +02:00
Fabien Potencier
d6ac45262c feature #33494 [Mailer] Change DSN syntax (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Change DSN syntax

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | -

The current syntax for failover and roundrobin is confusing. `&&` and `||` do not really convey the right meaning. I realized that while working on a new transport that will send on more than one transport in parallel. `&&` would be a natural fit, but that's already taken.

So, this pull request changes the syntax to be more explicit.

Commits
-------

39dd213960 [Mailer] Change the syntax for DSNs using failover or roundrobin
2019-09-07 09:28:15 +02:00
Fabien Potencier
39dd213960 [Mailer] Change the syntax for DSNs using failover or roundrobin 2019-09-07 08:40:47 +02:00
Nicolas Grekas
9dca229573 [Mailer] fix deps=low 2019-09-06 17:26:18 +02:00
Fabien Potencier
b58876c5b3 feature #33471 [Mailer] Check email validity before opening an SMTP connection (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Check email validity before opening an SMTP connection

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes-ish
| New feature?  | yes
| BC breaks?    | no-ish
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

When using an SMTP server to send emails, the connection to the SMTP server happens before being sure that the email to sent is valid. That does not happen with HTTP transports.

This pull request implements a new method to be sure that we don't connect to the SMTP server if the email is not valid.

Commits
-------

dc376f52a5 [Mailer] Check email validity before opening an SMTP connection
2019-09-06 16:42:40 +02:00
Fabien Potencier
dc376f52a5 [Mailer] Check email validity before opening an SMTP connection 2019-09-06 15:51:50 +02:00
Alexander M. Turek
248f0827c7 [Mailer] Added messenger to dev dependencies. 2019-09-05 17:38:24 +02:00
Fabien Potencier
7a9c5da1de minor #33463 [Mailer] Fix an error message (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Fix an error message

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Now  that the host is not the name anymore, the error message when not having a host is wrong.

Commits
-------

60bb1c0ddc [Mailer] Fix an error message
2019-09-05 10:11:06 +02:00
Fabien Potencier
b2ca530d82 [Mailer] Fix typo 2019-09-05 03:35:53 +02:00
Fabien Potencier
60bb1c0ddc [Mailer] Fix an error message 2019-09-05 03:13:57 +02:00
Fabien Potencier
3e8a726c41 Merge branch '4.3' into 4.4
* 4.3:
  maintain sender/recipient name in SMTP envelopes
  Fix #32148 TransportException was not thrown
2019-09-04 12:09:07 +02:00
Christian Flothmann
46ed0e84cd maintain sender/recipient name in SMTP envelopes 2019-09-04 11:58:50 +02:00
Fabien Potencier
c6d56de86d [Mailer] Improve an exception when trying to send a RawMessage without an Envelope 2019-09-04 08:32:49 +02:00
Beno!t POLASZEK
6c90e08368 Fix #32148 TransportException was not thrown 2019-09-03 22:05:27 +02:00
Fabien Potencier
561f9b7345 [Mailer] Add a more precise exception 2019-09-02 17:59:15 +02:00
Fabien Potencier
cf57ca81ee Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] fixed Mailgun support when a response is not JSON as expected
2019-09-02 17:26:08 +02:00
Fabien Potencier
3b2db425f6 [Mailer] fixed Mailgun support when a response is not JSON as expected 2019-09-02 17:20:17 +02:00
Nicolas Grekas
727aa7ed9e Merge branch '4.3' into 4.4
* 4.3:
  [4.3] Cleanup tests
  Cleanup tests
  [Finder] Prevent unintentional file locks in Windows
  [FrameworkBundle] Fix about command not showing .env vars
  [DomCrawler] Fix FileFormField PHPDoc
  [Mailer] Remove the default dispatcher in AbstractTransport
  Fix #33395 PHP 5.3 compatibility
2019-09-02 16:51:55 +02:00
Fabien Potencier
e15df84313 [Mailer] fixed wrong behavior 2019-09-02 16:39:38 +02:00
Fabien Potencier
9e0640a281 [Mailer] fixed previous merge 2019-09-02 16:31:12 +02:00
Fabien Potencier
2ad7f97568 feature #33409 [Mailer] Add support for multiple mailers (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Add support for multiple mailers

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | closes #32535
| License       | MIT
| Doc PR        | -

This adds the possibility to define several email transports.

If you only have one email transport,  nothing changes:

```yaml
framework:
    mailer:
        dsn: '%env(MAILER_DSN)%'
```

But if you need more than one, use the `transports` entry instead:

```yaml
framework:
    mailer:
        transports:
            main: '%env(MAILER_DSN)%'
            important: '%env(MAILER_DSN_IMPORTANT)%'
```

Then, when sending an email via the `Mailer`, pass the mailer name explicitly (by default, the first one is used):

```php
// use the first "main" transport
$mailer->send($email);

// or use the "important" one (`null` is the envelope)
$mailer->send($email, null, 'important');
```

The web profiler now displays the name and the shorten DSN.

Commits
-------

de5fae4dd8 [Mailer] Add support for multiple mailers
2019-09-02 16:12:44 +02:00
Fabien Potencier
469c989697 [Mailer] Change the DSN semantics 2019-09-02 15:50:44 +02:00
Fabien Potencier
de5fae4dd8 [Mailer] Add support for multiple mailers 2019-09-02 12:19:09 +02:00
Fabien Potencier
5b7bba9ef3 [Mailer] Renamed getName() to toString() 2019-09-02 11:41:25 +02:00
Fabien Potencier
55d6a65df9 [Mailer] Remove the default dispatcher in AbstractTransport 2019-08-30 19:29:56 +02:00
Nicolas Grekas
1981f06c88 Merge branch '4.3' into 4.4
* 4.3:
  fix deps=low
  [VarExporter] fix support for PHP 7.4
  Use PHP 7.4 on deps=low
2019-08-22 10:37:03 +02:00
Nicolas Grekas
0a25ccab8e fix deps=low 2019-08-22 10:16:11 +02:00
Tobias Schultze
4bb38eec89 Mark all dispatched event classes as final 2019-08-21 17:17:54 +02:00
Fabien Potencier
eb7d74e6c5 [Mime] Remove NamedAddress 2019-08-21 09:13:01 +02:00
Fabien Potencier
ce372672d0 feature #33237 [Mailer] Remove the auth mode DSN option and support in the eSMTP transport (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Remove the auth mode DSN option and support in the eSMTP transport

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | -

The authentication mode can be automatically negotiated between the Mailer and the SMTP server. There is an option to force it to a given auth mode, but I don't see any valid use case. So, let's remove that feature.

Commits
-------

34cbda53c4 [Mailer] removed the auth mode DSN option and support in the eSMTP transport
2019-08-19 14:19:32 +02:00
Nicolas Grekas
034c06e181 [Mailer] conflict with symfony/sendgrid-mailer < 4.4 2019-08-19 13:44:21 +02:00
Nicolas Grekas
a0c1570915 [Mailer] fix tests 2019-08-19 13:34:47 +02:00
Nicolas Grekas
3cd20c993d Merge branch '4.3' into 4.4
* 4.3:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  [Console] fix docblock
  Add missing translations for Armenian locale
  [Process] Added missing return type.
  [Process] Doc block backport.
  Added doc block for Registry::supports().
  [Cache] Fix predis test
  Don't duplicate addresses in Sendgrid Transport
  Remove unnecessary statement
  Fix some docblocks.
  [Messenger] make delay exchange and queues durable like the normal ones by default
  Cancel delayed message if handler fails
  Added tests for #32370
2019-08-19 13:17:23 +02:00
Fabien Potencier
34cbda53c4 [Mailer] removed the auth mode DSN option and support in the eSMTP transport 2019-08-19 13:04:31 +02:00
Fabien Potencier
5b8c4676d0 [Mailer] simplified the way TLS/SSL/StartTls work 2019-08-19 11:19:02 +02:00
Fabien Potencier
afb1c04c35 [Mailer] added a way to test the number of queued emails 2019-08-16 21:31:41 +02:00
Pierre du Plessis
2706a9763f
Don't duplicate addresses in Sendgrid Transport 2019-08-16 20:11:33 +02:00
Fabien Potencier
876cec7c45 [Mailer] fixed missing property assignment 2019-08-14 17:19:53 +02:00
Nicolas Grekas
32389f8b7f Merge branch '4.3' into 4.4
* 4.3:
  Disable phpunit typehint patch on 4.3 branch
  Fix deprecation on 4.3
2019-08-08 14:07:40 +02:00
Jérémy Derussé
8fd16a6bee
Fix deprecation on 4.3 2019-08-08 00:24:12 +02:00
Mario Blažek
43acda6cf4 Remove deprecated assertContains 2019-08-07 10:22:11 +02:00
Christian Flothmann
ee4192ebc7 fix getName() when transport is null 2019-08-06 09:00:18 +02:00
Fabien Potencier
23f237b92f added PHPUnit constraints and assertions for the Mailer 2019-08-05 18:16:42 +02:00
Fabien Potencier
fdaf0e0cf4 feature #32912 [Mailer] Add support for the profiler (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Add support for the profiler

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | closes #31592
| License       | MIT
| Doc PR        | n/a

Web profiler for the Mailer.

Commits
-------

f152314e28 [Mailer] added support for the profiler
2019-08-05 17:51:23 +02:00
Fabien Potencier
77951de0e3 [Mailer] fixed dispatcher not available in Mailer 2019-08-05 15:28:06 +02:00
Fabien Potencier
f152314e28 [Mailer] added support for the profiler 2019-08-04 22:35:18 +02:00
Fabien Potencier
7642178d76 [Mailer] added message events logger 2019-08-04 17:13:13 +02:00
Fabien Potencier
37265de54d feature #32916 [Mailer] Add a name to the transports (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

[Mailer] Add a name to the transports

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Having a name for Transports helps identify them (useful for instance in the profiler when one uses several mailers).

Commits
-------

2412dfe71f [Mailer] added a name to the transport
2019-08-04 07:00:35 +02:00
Fabien Potencier
2412dfe71f [Mailer] added a name to the transport 2019-08-04 06:22:04 +02:00
Fabien Potencier
158fe2aaec [Mailer] added missing entry in the CHANGELOG 2019-08-04 06:13:47 +02:00