Webform from address not set as sender address when using symfony_mailer

Created on 5 February 2024, over 1 year ago

Problem/Motivation

When using drupal/symfony_mailer, the sender is by default set as the site email. This is a change in behavior compared to the deprecated drupal/swiftmailer, where the from address from the email handler was set.

Steps to reproduce

- Install webform and symfony_mailer
- Create a webform with a mail handler, set from to a different address than site address
- Send an email and compare Envelope "MAIL FROM" and Header "From". They will not match, "MAIL FROM" is the site email, "From" is the address set in the webform mail handler.

Proposed resolution

- Add an EmailAdjuster plugin that sets the "MAIL FROM" based on the FROM information (either in sub module or core)

Remaining tasks

- Add tests
- Optional: Add update function to automatically enable the adjuster for all webforms

User interface changes

- Webform adds an EmailAdjuster for symfony mailer

API changes

- Webform adds an EmailAdjuster for symfony mailer

Data model changes

πŸ“Œ Task
Status

Active

Version

6.2

Component

Code

Created by

πŸ‡¨πŸ‡­Switzerland pvbergen

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @pvbergen
  • Merge request !397Draft: Add EmailAdjuster β†’ (Closed) created by pvbergen
  • Pipeline finished with Canceled
    over 1 year ago
    #87740
  • Pipeline finished with Success
    over 1 year ago
    Total: 1987s
    #87741
  • πŸ‡ΊπŸ‡ΈUnited States jrockowitz Brooklyn, NY
  • πŸ‡¨πŸ‡­Switzerland pvbergen

    @jrockowitz
    I'm a bit unsure with symfony_mailer, so I can't tell, what approach is best.

    Thinking about it, I realize that my adjuster should go into drupal/symfony_mailer.
    It just takes the first from address and sets it as a sender, which might be a broader use case.
    The WebformEmailBuilder from #3260134 should go into drupal/webform, as it is opinionated towards webform.

    I adjusted this issue to be in Symfony Mailer.

  • Merge request !86Add adjuster to set from as sender β†’ (Open) created by pvbergen
  • Pipeline finished with Success
    over 1 year ago
    Total: 201s
    #89831
  • πŸ‡¨πŸ‡­Switzerland pvbergen
  • Status changed to Postponed: needs info over 1 year ago
  • πŸ‡¬πŸ‡§United Kingdom adamps

    AFAICS Core MailManager sets Sender to site mail. I can't find any reference to Sender in swiftmailer.

    This issue similar to ✨ Allow to customize Sender Active , especially see #2 for explanation of why in general it's not a good idea to set sender based on from.

  • Status changed to Needs review over 1 year ago
  • πŸ‡¨πŸ‡­Switzerland pvbergen

    @AdamPS:
    Thanks for the feedback. I didn't see #3388651 before but I also think it addresses another, more global request.

    Using this adjuster would allow finegrained control which mails the sender should be overwritten for.
    This would leave the default implementation with their valid concerns unaffected while still allowing site builders to specifically select exceptions.

    We often have projects where we use different sender addresses (using the same domain) on webforms becaus of (strong) client request and this would allow us to fulfill this request without custom code. I also argue that webform mails are not in the same class as general site notifications and can fulfill very different purposes.

    Sidenote: Fixed the typo in my class.

  • Pipeline finished with Success
    over 1 year ago
    Total: 171s
    #94000
  • πŸ‡¬πŸ‡§United Kingdom adamps

    Thanks for the update - I understand your point however it's not the same as the original ISπŸ˜ƒ.

    As you say this seems like a bit of a specialised situation. I am concerned that many simple site-owners could be confused by this adjuster and perhaps use it incorrectly causing their emails to bounce. Perhaps it belongs back in Webform module after all??

  • πŸ‡¨πŸ‡­Switzerland pvbergen

    Updated title, IS

  • πŸ‡¨πŸ‡­Switzerland pvbergen
  • πŸ‡¬πŸ‡§United Kingdom adamps

    ✨ Allow to customize Sender Active seems like a better UX to me. What do you think?

  • Status changed to Needs work about 1 year ago
  • πŸ‡¬πŸ‡§United Kingdom adamps

    Or we could add a setting on from adjuster "also use as sender" (causes error if there is more than one from)?

    I propose we should have a description that explains:
    - by default the sender address comes from "Basic site settings" and normally you wouldn't change it
    - ensure this server is authorised to send from the specified address to help prevent emails being flagged as spam

  • Status changed to Closed: outdated 8 days ago
  • πŸ‡¬πŸ‡§United Kingdom adamps

    In the end we did ✨ Allow to customize Sender Active instead however thanks for the patches

Production build 0.71.5 2024