Skip to content
Snippets Groups Projects
Verified Commit b4a1e808 authored by Jess's avatar Jess
Browse files

Revert "Issue #3201472 by anup.sinha, _utsavsharma, smustgrave, Ralf Eisler,...

Revert "Issue #3201472 by anup.sinha, _utsavsharma, smustgrave, Ralf Eisler, Christian DeLoach, xjm: Notification email address does not override the default system email address for account notifications"

This reverts commit 7c5a6c11.
parent 7c5a6c11
No related branches found
No related tags found
32 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!54479.5.x SF update,!5014Issue #3071143: Table Render Array Example Is Incorrect,!4868Issue #1428520: Improve menu parent link selection,!4289Issue #1344552 by marcingy, Niklas Fiekas, Ravi.J, aleevas, Eduardo Morales...,!4114Issue #2707291: Disable body-level scrolling when a dialog is open as a modal,!4100Issue #3249600: Add support for PHP 8.1 Enums as allowed values for list_* data types,!3630Issue #2815301 by Chi, DanielVeza, kostyashupenko, smustgrave: Allow to create...,!3600Issue #3344629: Passing null to parameter #1 ($haystack) of type string is deprecated,!3291Issue #3336463: Rewrite rules for gzipped CSS and JavaScript aggregates never match,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2074Issue #2707689: NodeForm::actions() checks for delete access on new entities,!2062Issue #3246454: Add weekly granularity to views date sort,!1591Issue #3199697: Add JSON:API Translation experimental module,!1484Exposed filters get values from URL when Ajax is on,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1162Issue #3100350: Unable to save '/' root path alias,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!957Added throwing of InvalidPluginDefinitionException from getDefinition().,!925Issue #2339235: Remove taxonomy hard dependency on node module,!877Issue #2708101: Default value for link text is not saved,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!844Resolve #3036010 "Updaters",!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
...@@ -226,15 +226,7 @@ public function mail($module, $key, $to, $langcode, $params = [], $reply = NULL, ...@@ -226,15 +226,7 @@ public function mail($module, $key, $to, $langcode, $params = [], $reply = NULL,
*/ */
public function doMail($module, $key, $to, $langcode, $params = [], $reply = NULL, $send = TRUE) { public function doMail($module, $key, $to, $langcode, $params = [], $reply = NULL, $send = TRUE) {
$site_config = $this->configFactory->get('system.site'); $site_config = $this->configFactory->get('system.site');
// If a custom notification email address has been configured, use that $site_mail = $site_config->get('mail');
// address.
$site_mail = $site_config->get('mail_notification');
// Otherwise, use the default site email address.
if (empty($site_mail)) {
$site_mail = $site_config->get('mail');
}
// Finally, default to the server email address if no site email has been
// configured.
if (empty($site_mail)) { if (empty($site_mail)) {
$site_mail = ini_get('sendmail_from'); $site_mail = ini_get('sendmail_from');
} }
......
...@@ -188,88 +188,45 @@ public function testNotificationEmailAddress() { ...@@ -188,88 +188,45 @@ public function testNotificationEmailAddress() {
$this->assertSession()->responseContains('id="edit-mail-notification-address"'); $this->assertSession()->responseContains('id="edit-mail-notification-address"');
$this->drupalLogout(); $this->drupalLogout();
// Test custom user registration approval email address(es).
$config = $this->config('user.settings'); $config = $this->config('user.settings');
// Allow users to register with admin approval. // Allow users to register with admin approval.
$config $config
->set('verify_mail', TRUE) ->set('verify_mail', TRUE)
->set('register', UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL) ->set('register', UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)
->save(); ->save();
// Set the site and notification email addresses. // Set the site and notification email addresses.
$system = $this->config('system.site'); $system = $this->config('system.site');
$server_address = 'site.admin@example.com'; $server_address = $this->randomMachineName() . '@example.com';
$notify_address = 'site.notify@example.com'; $notify_address = $this->randomMachineName() . '@example.com';
$system $system
->set('mail', $server_address) ->set('mail', $server_address)
->set('mail_notification', $notify_address) ->set('mail_notification', $notify_address)
->save(); ->save();
// Register a new user account. // Register a new user account.
$edit = []; $edit = [];
$edit['name'] = 'drupalUser'; $edit['name'] = $this->randomMachineName();
$edit['mail'] = $edit['name'] . '@example.com'; $edit['mail'] = $edit['name'] . '@example.com';
$this->drupalGet('user/register'); $this->drupalGet('user/register');
$this->submitForm($edit, 'Create new account'); $this->submitForm($edit, 'Create new account');
$subject = 'Account details for ' . $edit['name'] . ' at ' . $system->get('name') . ' (pending admin approval)'; $subject = 'Account details for ' . $edit['name'] . ' at ' . $system->get('name') . ' (pending admin approval)';
// Ensure that admin notification mail is sent to the configured // Ensure that admin notification mail is sent to the configured
// Notification Email address. // Notification Email address.
$admin_mail = $this->drupalGetMails([ $admin_mail = $this->drupalGetMails([
'to' => $notify_address, 'to' => $notify_address,
'from' => $notify_address, 'from' => $server_address,
'subject' => $subject, 'subject' => $subject,
]); ]);
$this->assertCount(1, $admin_mail); $this->assertCount(1, $admin_mail, 'New user mail to admin is sent to configured Notification Email address');
// Ensure that user notification mail is sent from the configured // Ensure that user notification mail is sent from the configured
// Notification Email address. // Notification Email address.
$user_mail = $this->drupalGetMails([
'to' => $edit['mail'],
'from' => $notify_address,
'reply-to' => $notify_address,
'subject' => $subject,
]);
$this->assertCount(1, $user_mail);
}
/**
* Tests email notifications with no custom notification address configured.
*/
public function testNotificationEmailAddressNotSet() {
$config = $this->config('user.settings');
// Allow users to register with admin approval.
$config
->set('verify_mail', TRUE)
->set('register', UserInterface::REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)
->save();
// Set the site and notification email addresses.
$site_configuration = $this->config('system.site');
$server_address = 'site.admin@example.com';
$site_configuration
->set('mail', $server_address)
->save();
// Register a new user account.
$edit = [];
$edit['name'] = 'drupalUser';
$edit['mail'] = $edit['name'] . '@example.com';
$this->drupalGet('user/register');
$this->submitForm($edit, 'Create new account');
$subject = 'Account details for ' . $edit['name'] . ' at ' . $site_configuration->get('name') . ' (pending admin approval)';
// When no custom notification email address is set, the email will be
// sent from the site default email address.
$user_mail = $this->drupalGetMails([ $user_mail = $this->drupalGetMails([
'to' => $edit['mail'], 'to' => $edit['mail'],
'from' => $server_address, 'from' => $server_address,
'reply-to' => $server_address, 'reply-to' => $notify_address,
'subject' => $subject, 'subject' => $subject,
]); ]);
$this->assertCount(1, $user_mail); $this->assertCount(1, $user_mail, 'New user mail to user is sent from configured Notification Email address');
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment