You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
addRecipient() is often called with only an email address, which causes the name to be set to the same as email.
This is causing failure on some servers (or their mail servers).
It is kind of server protection from users who trying to send spam.
I think Joomla should not try to set a name if it not provided, it is totally fine to have only an email.
Steps to reproduce the issue
Set Joomla instance to use PHP Mail or Sendmail.
Perform some activity that causes email to be sent (registration, contact).
Expected result
Generated email is sent without issue
Actual result
Error: Could not instantiate mail function.
System information (as much as possible)
Joomla 4 or 5 on Siteground hosting
Additional comments
Some systems fail when attempting to send email which has the recipient name and email set to the same value (501 error).
libraries/src/Mail/MailTemplate.php
addRecipient() is often called with only an email address, which causes the name to be set to the same as email.
This is causing failure on some servers (or their mail servers).
Possible workaround
$recipient->name = $name ?? strstr($mail,'@',true);
Additional preferable solution
All Joomla calls to this addRecipient() method provide an appropriate name argument.
The text was updated successfully, but these errors were encountered: