I am currently running a single WordPress installation with WPML configured across 5 different domain names, one for each language. I need some guidance on the best way to handle transactional emails in this setup.
My Setup:
1 WordPress installation
WPML managing 5 languages
5 separate domain names (one per language)
WP Mail SMTP installed
What I Need:
I would like each language domain to send emails using its own corresponding email address. For example:
English site (enmysite.com) → sends from info@enmysite.com
French site (frmysite.com) → sends from info@frmysite.com
German site (demysite.com) → sends from info@demysite.com
And so on for the remaining languages
My Questions:
Does WPML have any native functionality or a recommended method to assign different "From" email addresses based on the active language or domain?
Is there a built-in hook or filter in WPML that reliably exposes the current language at the point whenwp_mail() is called, so that a customwp_mail_from filter can correctly detect the active language and assign the right From address?
Are there any known conflicts or limitations when using WPML together with WP Mail SMTP Pro in a multi-domain configuration?
Do you have an official recommended workflow or documentation for this type of multi-domain email setup?
What I Have Already Researched:
I am aware that using thewp_mail_from filter combined withapply_filters( 'wpml_current_language', null ) may work as a custom solution. However, before implementing custom code I wanted to confirm with your team that this approach is reliable and officially supported in a multi-domain WPML setup.
I would greatly appreciate any guidance, documentation links, or recommended plugins that could help achieve this cleanly without risking email deliverability issues.
Thank you for your time and I look forward to your response.
Currently, WPML does not have a native mechanism to modify the email sender per language, regardless of the multilingual strategy of your site (domains, directories, URL parameters). However, we have been asked about this in the past, and we provided a workaround that might help you.