Can't change the Shipper email (users-permissions/email-templates)

Hello everyone ! :alien:

I have been working on a bug for several days without finding any solution.
I am trying to change the Shipper email to
http://localhost:1337/admin/settings/users-permissions/email-templates
But a 400 Bad request error is returned: “Warning: An error occurred”

And in the console: Invalid template

I thought it was from the Email Designer plugin. But even looking through commits prior to installing this plugin, the problem remains. I even went back to the very first commit of my Strapi (!) and the problem is still there: I cannot modify the email addresses for “Reset password” and “Email Designer” in Settings > Email templates.

Do you have any idea how to proceed? The configuration of ./config/plugins.js is not sufficient, since when registering a user (in front production), the confirmation email seeks to be done with no-reply@strapi.io instead mail configured in ./config/plugins.js

Note that the Test email delivery works perfectly locally and in production. So I would like to find a solution to modify the data of the emails present in Email Templates in one way or another.

THANKS FOR YOUR HELP ! :handshake: Have a great weekend everyone :sunflower:

(I’m using Nodemailer, but when I disable it, it doesn’t change anything)

System Information
  • Strapi Version: 4.11.1
  • Operating System:
  • Database:
  • Node Version:
  • NPM Version:
  • Yarn Version:

The ‘Shipper email’ field (and reply-to field) should be set to a valid email address, compatible with the email provider you are using. You say you’re using the Nodemailer provider, so you will have configured that to authenticate with a certain address; the same address must then be put into the templates as ‘Shipper email’ (and reply-to), or your mail service provider may reject the message. Then, too, don’t forget to enable ‘Email confirmation’ under Advanced settings in the Strapi Users plugin.

Your question suggests you’re trying to set a URL instead of an email address … I suspect that’s not what you’re doing, but you might need to rebuild your Admin UI if you’ve changed server-side settings (even if you don’t think they should affect the UI).

Hello, thank you for your answer. My English is bad…
I did not indicate a url instead of an email.

I’m looking to change no-reply@strapi.io to noreply@mywebsite.com (email valid) on the Email Templates page

This email is already present in my configuration (config/plugin.ts):

E-mail: {
     config: {
       provider: 'nodemailer',
       providerOptions: {
         host: env('SMTP_HOST', 'email-smtp.eu-west-3.amazonaws.com'),
         port: env('SMTP_PORT', 465),
         secure: true,
         auth: {
           user: env('AWS_SMTP_USERNAME'),
           pass: env('AWS_SMTP_PASSWORD'),
         },
       },
       settings: {
         defaultFrom: 'noreply@mywebsite.com',
         defaultReplyTo: 'noreply@mywebsite.com',
         testAddress: 'contact@mywebsite.com',
       },
     },
   },

The Settings > Email > Configuration page works perfectly.
The email delivery test works perfectly.
Confirmation email is enabled (and that’s the problem)

The problem is that when a user registers on mywebsite.com.
Instead of receiving an email from noreply@mywebsite.com which would work with Amazon SES. Strapi is trying to send an email from no-reply@strapi.io Which generates a 400 error because Amazon SES does not recognize no-reply@strapi.io
I need Strapi to no longer send emails with no-reply@strapi.io, just noreply@mywebsite.com

When I go to the console I see that the error raised is invalid template, which seems to be due to the installation of Email designer which modifies the email templates of Strapi.

I wonder if there are other methods to modify the Shiper email than the form present on the Settings > Email templates page…

The solution is to replace the Message content generated by Email Designer in Settings > Email templates with a temporary word in the Message field (or Strapi’s default template), and modify the Sender’s E-mail field. Then click on Finish.

It works ! :heart_eyes_cat:

Then we can go back to Email Designer and find the template that we had deleted. By redisplaying it on Email Designer, it will reactivate in the Message part of Settings > Email templates

It’s not working for me. Even when I removed the email-design plugin the error is still there.

yes, doesn’t work for me either.
Could you please share a screen shot?
For me the email template in the STRAPI Admin Panel under email plugin configuration is completely looked. I cannot change anything. I can only enter an email address for test delivery but obviously that goes to an error since I can’t set a sender email.

Can you please explain what you did with Email Designer? If try to make any changes to the existing confirmation email template I cannot click on the “User Confirmation address”

Just like you Im using AWS SES and my config/plugins.js looks like yours.

Having the same issue, also tried replacing the content, but no dice.

For anyone with an urgent need to fix.

It’s nasty, but it seems to work. Under your database go to table “strapi_core_store_settings” and search for “key=plugin_users-permissions_email” Then on value, look for the email “strapi.io” update this to suite your needs.

1 Like

In the end after multiple attempts I wasn’t sure anymore if the amazon SES plugin actually works properly. So installed nodemailer, set it up as mentioned below and currently I can send the basic Auth emails.

email provider: AWS SES
email: {
provider: 'amazon-ses',
providerOptions: {
  port:'465 || 587 || 25 ',
  secure: 'true',
  key: env('AWS_SES_ACCESS_KEY_ID'),
  secret: env('AWS_SES_SECRET_ACCESS_KEY'),
  amazon: 'https://email.eu-north-1.amazonaws.com',
    },
  },
  settings: {
  defaultFrom: 'no-reply@holisticscentral.com',  
  defaultReplyTo: 'no-reply@holisticscentral.com', 
  },
email: {
    config: {
      provider: 'nodemailer',
      providerOptions: {
        host: env('SMTP_HOST'),
        port: env('SMTP_PORT', 587),
        auth: {
          user: env('SMTP_USERNAME'),
          pass: env('SMTP_PASSWORD'),
        },
      },
      settings: {
        defaultFrom: 'no-reply@holisticscentral.com',
        defaultReplyTo: 'no-reply@holisticscentral.com',
      },
    },
  },
type or paste code here