Merge pull request #4379 from nextcloud/nicely-designed-confirmation-mail
Beautify test email
This commit is contained in:
commit
4b2d594c70
2 changed files with 18 additions and 4 deletions
|
@ -145,11 +145,19 @@ class MailSettingsController extends Controller {
|
|||
$email = $this->config->getUserValue($this->userSession->getUser()->getUID(), $this->appName, 'email', '');
|
||||
if (!empty($email)) {
|
||||
try {
|
||||
$displayName = $this->userSession->getUser()->getDisplayName();
|
||||
|
||||
$template = $this->mailer->createEMailTemplate();
|
||||
$template->addHeader();
|
||||
$template->addHeading($this->l10n->t('Well done, %s!', [$displayName]));
|
||||
$template->addBodyText($this->l10n->t('If you received this email, the email configuration seems to be correct.'));
|
||||
$template->addFooter();
|
||||
|
||||
$message = $this->mailer->createMessage();
|
||||
$message->setTo([$email => $this->userSession->getUser()->getDisplayName()]);
|
||||
$message->setFrom([$this->defaultMailAddress]);
|
||||
$message->setSubject($this->l10n->t('test email settings'));
|
||||
$message->setPlainBody('If you received this email, the settings seem to be correct.');
|
||||
$message->setTo([$email => $displayName]);
|
||||
$message->setSubject($this->l10n->t('Email setting test'));
|
||||
$message->setHtmlBody($template->renderHTML());
|
||||
$message->setPlainBody($template->renderText());
|
||||
$errors = $this->mailer->send($message);
|
||||
if (!empty($errors)) {
|
||||
throw new \RuntimeException($this->l10n->t('Mail could not be sent. Check your mail server log'));
|
||||
|
|
|
@ -20,6 +20,7 @@ use OCP\IConfig;
|
|||
use OCP\IL10N;
|
||||
use OCP\IRequest;
|
||||
use OCP\IUserSession;
|
||||
use OCP\Mail\IEMailTemplate;
|
||||
use OCP\Mail\IMailer;
|
||||
use OC\User\User;
|
||||
|
||||
|
@ -161,6 +162,11 @@ class MailSettingsControllerTest extends \Test\TestCase {
|
|||
$this->mailer->expects($this->once())
|
||||
->method('createMessage')
|
||||
->willReturn($this->createMock(Message::class));
|
||||
$emailTemplate = $this->createMock(IEMailTemplate::class);
|
||||
$this->mailer
|
||||
->expects($this->once())
|
||||
->method('createEMailTemplate')
|
||||
->willReturn($emailTemplate);
|
||||
$response = $this->mailController->sendTestMail();
|
||||
$this->assertSame(Http::STATUS_OK, $response->getStatus(), $response->getData());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue